python selenium - 如何使webdriver使用XPATH版本2.0

问题描述 投票:2回答:1

我正在尝试使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的可用性。

python selenium selenium-webdriver
1个回答
1
投票

这是一个xpath 2.0 jquery plugin

在注入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)")')
© www.soinside.com 2019 - 2024. All rights reserved.