提问人:James 提问时间:5/16/2022 更新时间:5/16/2022 访问量:61
Xpath 按类名和单元格填充查找 html 元素
Xpath find a html element by class name and cellpadding
问:
如何找到带有 和 的元素?我尝试了以下方法:,但这不起作用。tbody
class="centered"
cellpadding="4"
"//tbody[contains(@class='bordercolor' and @cellpadding='4')]"
答:
1赞
Mads Hansen
5/16/2022
#1
该函数适用于单个值,它需要两个参数。第一个是要测试的值,第二个是要查找的值。contains()
因此,您需要调整谓词以应用于您正在测试的每个属性,并将该值作为第二个参数提供,而不是断言表达式:contains()
=
//tbody[contains(@class, 'bordercolor') and contains(@cellpadding, '4')]
如果要测试这些值是否相等,而不仅仅是包含这些值,请完全删除:contains()
//tbody[@class='bordercolor' and @cellpadding='4']
评论
0赞
James
5/16/2022
我尝试了你的解决方案,但它显然也是无效的。.我正在将硒用于 python。selenium.common.exceptions.InvalidSelectorException: Message: Given xpath expression "//tbody[contains(@class='bordercolor') and contains(@cellpadding='4')]" is invalid: [Exception... "<no message>" nsresult: "0x8060000d (<unknown>)" location: "JS frame :: chrome://remote/content/marionette/element.js :: element.findByXPath :: line 356" data: no]
0赞
Mads Hansen
5/16/2022
哎呀,也没有注意到您正在使用而不是提供值作为第二个参数。我已经更新了答案。=
评论