Xpath 按类名和单元格填充查找 html 元素

Xpath find a html element by class name and cellpadding

提问人:James 提问时间:5/16/2022 更新时间:5/16/2022 访问量:61

问:

如何找到带有 和 的元素?我尝试了以下方法:,但这不起作用。tbodyclass="centered"cellpadding="4""//tbody[contains(@class='bordercolor' and @cellpadding='4')]"

html selenium 网页抓取 xpath html 解析

评论


答:

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
哎呀,也没有注意到您正在使用而不是提供值作为第二个参数。我已经更新了答案。=