Функциональность щелчка веб-драйвера Python selenium - PullRequest
4 голосов
/ 12 июля 2011

Кто-нибудь знает, как вы можете нажать на ссылку, основанную на href, используя привязки python для веб-драйверов.В waitr-webdriver вы можете сделать что-то вроде этого:

browser.link(:href => "http://www.testsite.com/pageOne.html").click

Но я не смог найти подобную функцию в веб-драйвере Python.Все есть

find_element_by_class_name
find_element_by_css_selector
find_element_by_id
find_element_by_link_text
find_element_by_name
find_element_by_partial_link_text
find_element_by_tag_name
find_element_by_xpath

Это отличные методы, но сайт, который я тестирую, не имеет идентификаторов или классов в своих ссылках.Поэтому единственная уникальная вещь в ссылках - это href url.

Любая помощь будет принята с благодарностью.

1 Ответ

6 голосов
/ 13 июля 2011

Под прикрытием watir-webdriver преобразует вызов, чтобы найти ссылку, где атрибут href представляет собой заданное значение, в выражение поиска WebDriver по XPath.Подражая этому в вашем собственном коде, подходящим способом для обработки этого в Python будет:

# assume driver is an instance of WebDriver
# NOTE: this code is untested
driver.find_element_by_xpath(".//a[@href='http://www.testsite.com/pageOne.html']")

В качестве альтернативы, вы можете использовать селекторы CSS (что было бы быстрее в IE) следующим образом:*

...