我正在尝试使webdriver /浏览器能够处理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之后:
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)")')