Я хочу найти кнопку «ДАЛЕЕ». Поиск по имени класса не работает, потому что есть другой элемент с тем же именем класса. У этой кнопки нет идентификатора.
Я попытался найти по xpath >> содержит текст и т. Д., И он работает. Но это не идеальный способ, из-за возможного будущего перевода сайта и текст «СЛЕДУЮЩИЙ» может показаться совсем другим ... Речь идет о двух последних строчках.
from time import sleep
import self as self
from selenium import webdriver
from selenium.common.exceptions import ElementClickInterceptedException, StaleElementReferenceException
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome(executable_path="C:\Chromedriver\chromedriver.exe")
driver.implicitly_wait(1)
driver.get("https://cct-103.firebaseapp.com/")
try:
checkin = WebDriverWait(driver, 1).until(EC.element_to_be_clickable((By.CLASS_NAME, "MuiButton-label")))
checkin.click()
except StaleElementReferenceException:
checkin = WebDriverWait(driver, 1).until(EC.element_to_be_clickable((By.CLASS_NAME, "MuiButton-label")))
checkin.click()
locator = (By.ID, "guestName")
guest_input = driver.find_element(*locator)
guest_input.send_keys("xyz")
next_button = driver.find_element_by_xpath("//*[contains(text(), 'NEXT')]")
next_button.click()