簡體   English   中英

如何在 xpath 元素上定位准確的文本?

[英]How to locate exact text on xpath element?

我試圖找到與確切文本“制造商”匹配的 xpath,但它不起作用。

我不能使用“contains”,因為還有另一個 xpath 元素,其中包含“Discontinued by Manufacturer”文本。 我需要一個解決方案,我可以在其他 url 上使用相同的東西,有時沒有其他包含文本“制造商”的元素,如“制造商停產”,只有“制造商”

網址是https://www.amazon.com/BEAKEY-Foundation-Blending-Flawless-Multi-colored/dp/B01F36JEXE/ref=sr_1_22?dchild=1&keywords=cosmetics&qid=1625014752&sr=8-22如果有人需要參考

這是我嘗試搜索“制造商”錯誤圖像時所看到的

該頁面上有 4 個制造商。

你可以試試這個 xpath :

(//ul[contains(@class, 'a-unordered-list')]/descendant::span[@class='a-text-bold'])[1]

匹配

Is Discontinued By Manufacturer ‏ : ‎ No

(//ul[contains(@class, 'a-unordered-list')]/descendant::span[@class='a-text-bold'])[5]

匹配 :

Manufacturer ‏ : ‎ BEAKEY

由於有 2 個帶有文本“制造商”的 span 元素,因此應該適合:

"(//span[contains(text(),'Manufacturer')])[last()]"

如果要完全匹配文本節點或元素的內容,請使用“=”運算符,而不是contains()

使用contains()代替“=”是一個常見的 XPath 錯誤。 事實上,根據函數的名稱猜測函數的作用,而不是閱讀規范,這是一個常見的錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM