一尘不染

Python:Selenium xpath查找不区分大小写字符的元素吗?

selenium

我能够做到这一点

search = "View List"
driver.find_elements_by_xpath("//*/text()[normalize-space(.)='%s']/parent::*" % search)

但是我需要它忽略和匹配所有元素,例如“ VieW LiSt”或“ view LIST”

search = "View List"
driver.find_elements_by_xpath("//*/lower-case(text())[normalize-space(.)='%s']/parent::*" % search.lower())

以上似乎不起作用。lower-case()在XPATH 1.0中


阅读 637

收藏
2020-06-26

共1个答案

一尘不染

lower-case()仅XPath 2.0支持此功能。对于XPath 1.0,您必须使用translate()

编辑:Selenium python绑定站点有一个常见问题解答-Selenium 2是否支持XPath
2.0?

参考:http : //seleniumhq.org/docs/03_webdriver.html#how-xpath-works-in-
webdriver

Selenium委托XPath向下查询到浏览器自己的XPath引擎,因此Selenium支持XPath支持浏览器支持的任何内容。在没有本地XPath引擎(IE 6,7,8)的浏览器中,Selenium仅支持XPath 1.0。

2020-06-26