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()
driver.get("http://www.someurl.com/")
wait = WebDriverWait(driver, 60)
def search_automation(keyword):
wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, ".input_keyword").send_keys(keyword)
keyword_list = ['a','b','c']
for i in keyword_list:
search_automation(i)
В случае кода выше, если страница не загружается должным образом в течение 60 секунд, она просто переходит к следующему ключевому слову.
В реальном случае, над которым я работаю, естьболее 10 тыс. данных для работы, и я не должен пропустить ни одного из них.
Итак, я хочу добавить условие if, else в код, который является временем ожидания. Есть ли способ, которым я могу поставить условия на время ожидания?
Например,
- ждать 60 секунд максимум, чтобы найти элемент.
- если, наконец, 60прошло секунд, driver.close () и перезагрузите драйвер.