如何使用Selenium Python单击元素

时间:2019-03-10 18:58:53

标签: python selenium xpath css-selectors xpath-1.0

我正尝试在此website上单击一个文本为我没有电话的元素。

所以我找到了带检查的元素。这是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 个答案:

答案 0 :(得分:1)

您可以使用下面的css选择器来获取跨度:

r = driver.find_element_by_css_selector(".link_has-no-phone")
r.click()

答案 1 :(得分:1)

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()

您只是忘记了括号

答案 2 :(得分:0)

要单击文本为我没有电话号码的元素,可以使用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()