Я использую последнюю версию chromedriver 2.45.В настоящее время я создаю программу, которая собирает данные о запасах с веб-сайта.У меня есть список из примерно 3000 акций, поэтому я использовал многопоточность для ускорения своей работы.Кажется, моя программа работает нормально, если я выключаю браузер без заголовка, но когда я переключаю браузер без заголовка в значение true (с целью ускорения работы скрипта), иногда поток застревает при выполнении следующей строки:
browser.get(url)
Для каждой акции перед запуском вышеуказанного сценария будет запускаться следующий сценарий:
options = Options()
chrome_prefs = {}
options.experimental_options["prefs"] = chrome_prefs
chrome_prefs["profile.default_content_settings"] = {"images": 2}
chrome_prefs["profile.managed_default_content_settings"] = {"images": 2}
options.add_argument('--headless')
options.add_argument("–no-sandbox")
options.add_argument("--disable-gpu")
options.add_argument("--disable-extensions")
options.add_argument("disable-infobars")
options.add_argument('--disable-useAutomationExtension')
options.Proxy = None
options.add_argument("–disable-dev-shm-usage")
options.add_argument('blink-settings=imagesEnabled=false')
browser = webdriver.Chrome(options=options)
browser.minimize_window()
Печально то, что когда он застревает в строке, он не вызывает никаких исключений.Я считаю, что поток пытается получить доступ к URL, но сайт не загружается, поэтому он просто ждет и ждет?Может ли это быть так?Как остановить проблему?Или, может быть, выход - сделать таймер для browser.get(url)
, скажем, на 10 секунд, если он не получит никаких данных, он снова обновит ссылку и продолжит выполнение сценария?
Есть ли такжекакие-либо способы или настройки, которые я могу ускорить сценарий?И можно ли заставить программу работать в фоновом режиме, когда я запускаю сценарий, поскольку он продолжает появляться (хотя он сокращает себя на секунду позже, но хром-драйвер все еще находится на передней панели ...)
Спасибо заваше время!