我正在做一個chrome擴展,刪除網站的一部分。為此,我需要找到一個包含一些文本的,然后從中選擇第四個<div>
。
HTML
<body>
<!--This is the div I want to select -->
<div>
<div>
<div>
<div>
<span>some text</span>
</div>
</div>
</div>
</div>
</body>
我已經使用//span[text() = 'some text'
找到了正確的<span>
,但是現在我需要返回到示例HTML中的第一個<div>
已經試過//*[ancestor::span[text() = 'some text']]
和//span[ancestor::*[text() = 'some text']]
。是的,這些只會到達第一個父級,但這對我來說根本不起作用,即使當我在XPathTester上測試時,它們作為有效的XPath表達式出現。
更重要的是,<div>
沒有一致的class或id屬性。這些必須是站點的auto-generate。
編寫XPath表達式的最簡單方法是什么?
您可以嘗試使用
../
語法向上提升一個級別(即:到直接父級),并像這樣鏈接它們: