Не получается нажать на кнопку *Войти через* python selenium
Пытаюсь нажать на эту кнопку
Пытался делать так:
driver.find_element(By.XPATH, '//*[@id="signup_with_facebook"]/button').click()
Выдало:
selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
Попробовал:
button = driver.find_element(By.XPATH, '//*[@id="signup_with_facebook"]/button')
ActionChains(driver).move_to_element(
button
).click(
button
).perform()
Выдало:
selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable: [object HTMLButtonElement] has no size and location
И дело не в полном прогружении сайта:
driver = webdriver.Chrome(executable_path='chromedriver')
driver.get('https://www.myheritage.com/deep-nostalgia')
driver.find_element(By.XPATH, '//*[@id="masterPageHeader"]/div/div[3]/div/div[2]/div[1]/div[2]/a[1]/span').click()
driver.implicitly_wait(10)
wait = WebDriverWait(driver, 20)
wait.until(EC.visibility_of_element_located((By.XPATH, '//*[@id="signup_with_facebook"]/button'))).click()
Ошибка:
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Как это сделать?
Буду благодарен любой идеей
Ответы (1 шт):
Автор решения: Goel Rengis
→ Ссылка
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Chrome(executable_path='chromedriver')
driver.get("https://www.myheritage.com/deep-nostalgia")
driver.implicitly_wait(10)
driver.set_window_size(1440, 1024)
driver.find_element(By.XPATH, '//*[@id="masterPageHeader"]/div/div[3]/div/div[2]/div[1]/div[2]/a[1]/span').click()
driver.implicitly_wait(10)
wait = WebDriverWait(driver, 20)
wait.until(EC.visibility_of_element_located((By.XPATH,"/html/body/div[2]/div[2]/div/div/div/div[2]/div[4]/div[1]/div[1]/button"))).click()
Так вроде работает. Использовал все то, что было у Вас, только добавил импорт и обращался непосредственно к button.
