Увеличьте таймауты Selenium, чтобы избежать таймаута чтения urllib3 (120 с)Python

Программы на Python
Ответить
Anonymous
 Увеличьте таймауты Selenium, чтобы избежать таймаута чтения urllib3 (120 с)

Сообщение Anonymous »

TL/DR: Как я могу продлить время ожидания Selenium перед срабатыванием тайм-аута? set_page_load_timeout() изолированно не работает, поскольку ошибка ReadTimeoutError по-прежнему генерируется urllib3.
Контекст: я использую Selenium для определения конфигурации (отправленной через форму веб-сайта/POST). запрос) и загрузите полученный файл CSV. Мой код хорошо работает для небольших запросов, но время ожидания истекает для больших наборов данных, для подготовки и загрузки которых требуется > 120 секунд.
Я пытался обновить конфигурацию тайм-аута для веб-драйвера Selenium, но безрезультатно:
driver.set_page_load_timeout(300)

В результате я получаю следующую ошибку:

urllib3.Exceptions.ReadTimeoutError: HTTPConnectionPool(host='localhost ', порт=55676): Время чтения истекло. (read timeout=120)

Как мне увеличить тайм-аут urllib3 в Selinium, чтобы иметь возможность обрабатывать/загружать эти большие файлы CSV? Соответствующий код приведен ниже, но не уверен, что он будет полезен:
from selenium import webdriver
from selenium.webdriver.common.by import By
import time, glob, os, zipfile
from url_destinations import url_destinations

target_data = url_destinations["OTP"]

# Selenium Code to Initiate Download
chrome_options = webdriver.ChromeOptions()

prefs = {"download.default_directory": r"C:\Users\\data\downloads"}
chrome_options.add_experimental_option("detach", True)
chrome_options.add_experimental_option("prefs", prefs)

driver = webdriver.Chrome(options=chrome_options)
driver.set_page_load_timeout(300)
driver.get(target_data['URL'])

latest_data = driver.find_element(By.ID, value="lblLatest").text

for val in target_data["Check Options"]:
selected_item = driver.find_element(By.ID,value=val)
selected_item.click()

# Wait for Download to Complete
while len(glob.glob(prefs["download.default_directory"]+"\*.tmp")) > 0:
time.sleep(0.5)


Подробнее здесь: https://stackoverflow.com/questions/793 ... meout-120s
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»