Как написать скрипт нажатия кнопки, которая появляется в неопределенное время в интернет магазине?
Кнопка
botton_KUPIT = ("xpath", "//button[@class='btn-primary buy']")
Нажатие кнопки
driver.find_element(*botton_KUPIT).click()
Нужно написать цикл в котором обновляем страницу driver.refresh()
до тех пор, пока появится кнопка botton_KUPIT = ("xpath", "//button[@class='btn-primary buy']")
и потом нажимаем на нее driver.find_element(*botton_KUPIT).click()
Ответы (1 шт):
Автор решения: user737326
→ Ссылка
import time
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
# Настройка ожидания (в секундах)
timeout = 10 # максимальное время ожидания элемента
refresh_interval = 2 # интервал между обновлениями
while True:
try:
# Ожидаем появления кнопки
button_KUPIT = ("xpath", "//button[@class='btn-primary buy']")
wait = WebDriverWait(driver, timeout)
button = wait.until(EC.element_to_be_clickable(button_KUPIT))
# Если кнопка найдена, кликаем по ней
button.click()
print("Кнопка найдена и нажата!")
break
except TimeoutException:
# Если кнопка не найдена, обновляем страницу
print("Кнопка не найдена, обновляем страницу...")
driver.refresh()
time.sleep(refresh_interval)