我正在尝试使 webdriver/browser 能够处理 XPATH 2.0 版。
使用旧版本的 XPATH 没问题,但在某些特定情况下,我还需要处理 XPATH 2.0 版。
我对此进行了一些研究,但仍然一无所知。
例如,假设我想获得所有 <a>
包含 title
的元素或 href
属性:
# find elements by xpath in older version
driver.find_elements_by_xpath("//a[@title or @href]")
# I want the code to be able to process XPATH version 2.0
driver.find_elements_by_xpath("//a/(@title|@href)")
我希望我能找到一些配置(或者我应该使用什么浏览器)来实现处理 XPATH 版本 2.0 的可用性。
最佳答案
在将其与 jquery 一起注入(inject)之后:
for script in ['jquery.js', 'jquery.xpath.js']:
with open(script, errors='ignore') as f:
driver.execute_script(f.read())
您应该能够执行 xpath 2.0 表达式:
driver.execute_script('return $(document).xpath("count(//a)")')
关于python selenium - 如何使 webdriver 使用 XPATH 2.0 版,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55319552/