Python Selen - как заставить веб-драйвер использовать XPATH версии 2.0 - PullRequest
3 голосов
/ 24 марта 2019

Я пытаюсь сделать так, чтобы веб-драйвер / браузер мог обрабатывать 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.

1 Ответ

1 голос
/ 24 марта 2019

Вот плагин jquery 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)")')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...