我甚至在一個頁面上意識到,具有不同CSSPathes的兩個HTML元素放置在完全不同的頁面區域中,它們具有完全相同的XPath。如何以及爲什麼會發生?有人可以向我解釋嗎?具有相同XPath的不同元素?如何以及爲什麼會發生?
第一個元素:具有默認值的標準一個選擇。
<div class="list-sorting"> <select data-current-sorting="" name="sort" id="sort"> ...</select> </div>
- 的XPath:
/html/body/div[3]/div[1]/div[1]/div[2]
- CSSPath:
body > div.page > div.page-content > div.list-page-header > div.list-sorting
- 的XPath:
第二個元素:在文本塊中的頁面的底部
<div class="list mmkcontent">...</div>
- 的XPath:
/html/body/div[3]/div[1]/div[2]/div[2]
- CSSPath:
body > div.page > div.page-content > div.right-section > div.list.mmkcontent
- 的XPath:
我試圖讓XPath和CSSPath與Chrome瀏覽器開發。工具和Firefox + Firebug:XPath無處不在。只有Firebug的擴展名爲我提供了CSSPath .list.mmk內容的第二個元素,我終於可以使用它完成我的任務。
但我仍然不明白,如何完全不同的元素可以有相同的XPath:XPath應該是從DOM樹頂部到元素的路徑...位於不同位置的元素如何以相同的方式通過DOM樹給他們?