如何使用Selenium Python单击跨度文本

时间:2019-10-16 10:09:14

标签: python selenium selenium-webdriver xpath

我一直在尝试使用selenium python从下面的链接单击“登录页面”中的继续按钮。

https://www.makemytrip.com

我尝试了几个选择器,xpath ..似乎对我没有用。

这是我要单击的元素:

driver.find_element_by_xpath("//span[text()='Continue']").click()

也尝试过Div类:

driver.find_element_by_xpath("//div[contains(@class, 'appendBottom25 ')]")

我希望硒单击“继续”按钮并加载到密码页面

3 个答案:

答案 0 :(得分:0)

尝试这个:

driver.find_element_by_xpath("//*[@id="SW"]/div[2]/div[2]/div[2]/section/form/div[2]/button/span").click()

如果选择按xpath查找元素,则必须将xpath作为参数传递。 (您右键单击继续按钮> inspect>,然后右键单击标有> copy xpath的元素)

答案 1 :(得分:0)

  

您使用的是正确的xpath

解决方案:

执行两次点击操作:

element =driver.find_element_by_xpath("//span[text()='Continue']")

element.click()
element.click()
  

这是一个奇怪的解决方案,但是..我以相同的方式解决了这个问题   

答案 2 :(得分:0)

我认为您应该点击“按钮”。

尝试在下面使用xpath:

  

// button [./ span [text()='Continue']]

并使用明确的wait等待元素可点击。

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[./span[text()='Continue']]"))).click()