我正在使用lxml.html在Python中的一些HTML解析。我想在瀏覽器呈現頁面之後粗略估計頁面中元素的位置。它不一定是確切的,但通常是正確的。爲了簡單起見,我將忽略Javascript對元素位置的影響。作爲最終結果,我希望能夠迭代元素(例如,通過lxml)並找到它們的x/y座標。有關如何做到這一點的任何想法?我不需要繼續使用lxml,並且很樂意嘗試其他庫。在Python中的HTML元素位置
2
A
回答
5
PyQt的與WebKit的:
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import *
class MyWebView(QWebView):
def __init__(self):
QWebView.__init__(self)
QObject.connect(self,SIGNAL('loadFinished(bool)'),self.showelements)
def showelements(self):
html=self.page().currentFrame().documentElement()
for link in html.findAll('a'):
print(link.toInnerXml(),str(link.geometry())[18:])
if __name__=='__main__':
app = QApplication(sys.argv)
web = MyWebView()
web.load(QUrl("http://www.google.com"))
web.show()
sys.exit(app.exec_())
0
正如Sven所述,您需要一個HTML渲染引擎。之前有人提出了關於呈現HTML的問題,你可以參考一下。
相關問題
- 1. html元素在javascript中的位置
- 2. 設置HTML元素的垂直位置
- 3. html元素的位置的CSS樣式
- 4. 如何更改HTML元素的位置?
- 5. Angular 2:獲取HTML元素的位置
- 6. 按位置獲取HTML元素
- 7. 如何在Python中查找列表中元素的位置?
- 8. 在堅果殼中獲得HTML元素的50%位置
- 9. 在Windows Forms WebBrowser中更改html元素的位置WebBrowser
- 10. 在body座標中獲取HTML元素的位置
- 11. 使用SPRY時,放置HTML 5元素的位置在哪裏?
- 12. Python/Selenium:元素位置不正確
- 13. Python:查找元素在陣列中的位置
- 14. 獲取元素在Javascript中的位置
- 15. 元素在向量中的位置
- 16. 塊元素右側的位置元素
- 17. 獲取元素的位置/位置
- 18. 如何在父元素中控制剖面元素的位置?
- 19. 在元素樹中計算元素的數字位置
- 20. XML元素位置
- 21. JS當元素的位置絕對位置時,獲取基於元素的元素的位置
- 22. 定位與HTML元素
- 23. 佔位符HTML元素?
- 24. HTML元素動態定位
- 25. HTML/CSS定位元素
- 26. jQuery inArray()定位HTML元素
- 27. 在HTML元素的點擊位置獲取文本
- 28. 如何解決在背景圖像上的HTML元素位置
- 29. 如何在HTML文檔的選定位置插入元素?
- 30. 移動html元素在iOS上的位置緩慢
您將需要一個HTML渲染引擎來獲取這些信息。解析器不會幫助。 – 2010-12-03 11:56:30
您還需要考慮CSS的影響。這些日子裏,沒有它的內容幾乎沒有。 – 2010-12-03 12:05:29