Я хочу войти на этот сайт, но не могу добавить свои учетные данные.
Первая часть моего кода:
from selenium import webdriver
PATH = 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe'
driver = webdriver.Chrome(PATH)
driver.maximize_window()
driver.get('https://glovoapp.com/ro/buc/store/kaufland-buc/')
login = driver.find_element_by_xpath('//*[@id = "user-login"]')
login.click()
После этого пробовал использовать find_element_by_xpath() и несколько других методов, но ни один из них не сработал, так как пишет либо «Невозможно найти элемент», либо «Элемент не взаимодействует». Как мне это сделать? В предыдущих примерах, которым я следовал, я мог найти его с помощью find_view_by_id(), но теперь я столкнулся с некоторыми проблемами.






Чтобы войти на этот веб-сайт, вам нужно вызвать WebDriverWait для element_to_be_clickable(), и вы можете использовать любую из следующих стратегий локатора:
Использование CSS_SELECTOR:
driver.get("https://glovoapp.com/ro/buc/store/kaufland-buc/")
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button#user-login"))).click()
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div#login-email div input"))).send_keys("[email protected]")
Использование XPATH:
driver.get("https://glovoapp.com/ro/buc/store/kaufland-buc/")
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[@id='user-login']"))).click()
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@id='login-email']//following::input[@data-test-id='text-field-input']"))).send_keys("[email protected]")
Примечание. Вы должны добавить следующие импорты:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
Снимок браузера:
Мне удалось сделать то, что я хотел, вы сэкономили мне много времени, спасибо!
с какими именно проблемами вы сталкиваетесь?