Чтобы нажать на кнопку, вызвать WebDriverWait()
и element_to_be_clickable()
, а затем нажать на кнопку.
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#showbtn"))).click()
ИЛИ, чтобы успешно проверить загрузку страницы, вы можете вызвать javascript executor перед взаимодействием с элементом.
WebDriverWait(driver, 20).until(lambda drv: drv.execute_script('return document.readyState == "complete"'))
Вам необходимо добавить следующие библиотеки.
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
Обновленный код:
while True:
try:
WebDriverWait(driver, 20).until(lambda drv: drv.execute_script('return document.readyState == "complete"'))
print("Page Loaded Successfully")
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#showbtn"))).click()
break
except:
print ("Page loading failed")
driver.refresh()