我正试图找到与精确文本匹配的xpath"制造商";但它不起作用。
我不能使用";包含";因为存在另一个具有文本"的xpath元素;由制造商终止";在里面。我需要一个解决方案,在那里我可以在其他URL上使用相同的东西,这些URL有时没有包含文本"的其他元素;制造商";像";由制造商终止";并且只有";制造商";
url为https://www.amazon.com/BEAKEY-Foundation-Blending-Flawless-Multi-colored/dp/B01F36JEXE/ref=sr_1_22?dchild=1&关键词=化妆品&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()
。
使用CCD_ 2代替"0"是常见的XPath错误=&";。事实上,根据函数的名称猜测函数的作用,而不是阅读规范,这是一个常见的错误