Как щелкнуть текст span, используя селен Python - PullRequest
0 голосов
/ 16 октября 2019

Я пытался использовать Селен 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 голосов
/ 16 октября 2019

Вы используете правильный xpath

Решение:

выполните операцию щелчка дважды:

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

element.click()
element.click()

Это странное решение, но .. Я решил эту проблему только так же.

0 голосов
/ 16 октября 2019

Я думаю, вы должны нажать на кнопку.

Попробуйте использовать xpath ниже:

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

И использовать явное ожидание, чтобы элемент ожидания стал активным.

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()
0 голосов
/ 16 октября 2019

попробуйте это:

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)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...