Как нажать на элемент с помощью Selenium Python - PullRequest
1 голос
/ 10 марта 2019

Я пытаюсь щелкнуть элемент с текстом как У меня нет телефона на этом веб-сайте .

Итак, я нашел элемент с осмотром. вот элемент в html:

<span class="toggle-link link_has-no-phone" role="button">I&nbsp;don't have a&nbsp;telephone number</span>

В своем нефункциональном коде я написал это:

r = driver.find_element_by_xpath("//*[@id='root']/div/div[2]/div/main/div/div/div/form/div[3]/div/div[2]/div/span")
r.click

Кнопка никогда не нажимается, и ничего не происходит, я не получаю ошибки, и я не могу нажать на нее, любая помощь будет оценена.

Ответы [ 3 ]

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

Вы можете использовать css селектор ниже, чтобы получить диапазон:

r = driver.find_element_by_css_selector(".link_has-no-phone")
r.click()
1 голос
/ 10 марта 2019
r = driver.find_element_by_xpath("//*[@id='root']/div/div[2]/div/main/div/div/div/form/div[3]/div/div[2]/div/span")
r.click()

Вы только что забыли скобку

0 голосов
/ 10 марта 2019

Чтобы щелкнуть элемент с текстом как У меня нет телефонного номера , вы можете использовать любой из Locator Strategies :

  • css_selector:

    driver.find_element_by_css_selector("span.toggle-link.link_has-no-phone").click()
    
  • xpath:

    driver.find_element_by_xpath("//span[@class='toggle-link link_has-no-phone']").click()
    
...