我知道WebDriver可以使用find_element_by_link_textfind_element_by_partial_link_text通过它们的文本找到链接。 >

#1 楼

是。 WebDriver支持使用XPath通过元素包含的文本来查找元素。例如,以下XPath会找到包含字符串“ Hello Justin”的所有div:

//div[contains(.,'Hello Justin')]


评论


谢谢,太好了。我是xpath的新手。您知道WebDriver是否支持xpath 2.0吗?

–随机蓝
2012年1月25日14:47

根据seleniumhq.org/docs/03_webdriver.html#commands-and-operation的说明,WebDriver使用浏览器中可用的XPath支持。换句话说,如果浏览器支持XPath 2.0,WebDriver也应该支持。

–user246
2012年1月25日15:12

表达式// div [contains()....是无效的表达式。

– djangofan
2012年4月6日在20:49

#2 楼

如User246所述,xpath支持取决于浏览器。我发现使用XPath跨浏览器存在一些问题。我针对此问题的解决方案是先按标签名称查找元素,然后遍历与标签匹配的元素列表,并查找我也要匹配的属性。