[英]How to locate exact text on xpath element?
我试图找到与确切文本“制造商”匹配的 xpath,但它不起作用。
我不能使用“contains”,因为还有另一个 xpath 元素,其中包含“Discontinued by Manufacturer”文本。 我需要一个解决方案,我可以在其他 url 上使用相同的东西,有时没有其他包含文本“制造商”的元素,如“制造商停产”,只有“制造商”
这是我尝试搜索“制造商”错误图像时所看到的
该页面上有 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.