Пропустить ожидание на сайте таймера селена Python

Я использую Selenium в Python ide с помощью geckodriver.

У сайта, который я пытаюсь открыть, есть таймер 30 секунд, после которого через 30 секунд появляется кнопка, и я посылаю на нее щелчок.

Я спрашиваю следующее: могу ли я как-то игнорировать / пропустить / ускорить время ожидания?

Прямо сейчас я делаю следующее:

driver = webdriver.Firefox()
driver.get("SITE_URL")
sleep(30)
driver.find_element_by_id("proceed").click()

Что очень неэффективно, потому что каждый раз, когда я запускаю код для выполнения некоторых тестов, мне нужно ждать.

Заранее спасибо, Ави.

ОБНОВЛЕНИЕ: я не нашел способ преодолеть препятствие, но пока я не пытаюсь сосредоточиться на следующем достижимом прогрессе:

<video class="jw-video jw-reset" disableremoteplayback="" webkit-playsinline="" playsinline="" preload="metadata" src="//SITE.SITE.SITE/SITE/480/213925.mp4?token=jbavPPLqNqkQT1SEUt4crg&amp;time=1525458550" style="object-fit: fill;"></video>

(название цензурированного сайта)

На каждой странице есть видео, все видео относятся к классу "jw-video, jw-reset". У меня возникли проблемы с использованием элемента поиска по классу, поэтому я использовал:

WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, "video[class='jw-video jw-reset']")))

Это работает, но я не могу понять, как выбрать src элемента...

1 ответ

Решение

Согласно пробной версии кода вы можете удалить time.sleep(30) и вызвать WebDriverWait для элемента, чтобы быть кликабельным следующим образом:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
# lines of code
WebDriverWait(driver, 30).until(EC.element_to_be_clickable((By.ID, "proceed"))).click()

Примечание. Настройте экземпляр WebDriverWait с максимальным ограничением времени в соответствии с вашим вариантом использования. expected_conditions метод element_to_be_clickable() вернет WebElement, как только элемент будет виден и включен, чтобы вы могли щелкнуть по нему.

Другие вопросы по тегам