У меня запущен скрипт, который просматривает сайт и иногда отправляет пост-запрос на сервер.Я использую последнюю версию chromedriver
и пакет selenium-requests
.
В большинстве случаев это работает нормально, но иногда (кажется, чаще в последнее время) при отправке запроса браузер Chrome просто открывает новыйвкладка пытается связаться с localhost (127.0.0.1:some randon 5xxxx port
).Срок действия запроса не истекает, поэтому весь скрипт зависает, пока я не перезапущу его.Я не знаю, что это вызывает, и это не воспроизводимо.Иногда запрос проходит нормально, иногда всплывает эта вкладка.
Я пытался повозиться с разными настройками: изменение find_window_handle_timeout
, page_load_timeout
или даже self.driver.set_page_load_timeout(8)
, похоже, не работает.Срок действия запроса не истекает, и скрипт просто зависает, когда chrome пытается открыть 127.0.0.1:5xxxx
.
Если кто-нибудь знает, как предотвратить это, или знает, как разрешить тайм-аут запроса, если это произойдет, я будуочень благодарен.
chrome_options = Options()
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('disable-extensions')
chrome_options.add_argument('--screen-size=1280X600')
chrome_options.add_argument("user-agent=Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36")
prefs = {"profile.managed_default_content_settings.images": 2}
chrome_options.add_experimental_option("prefs", prefs)
self.driver = seleniumrequests.Chrome(
executable_path='D:/chromedriver/chromedriver.exe', chrome_options=chrome_options)
self.driver.set_page_load_timeout(8)
self.driver.implicitly_wait(10)
try:
self.timelogger.info("sending request...")
response = self.driver.request(method='POST', url=buyurl, data=data, headers=headers, find_window_handle_timeout=8, page_load_timeout=8)
self.timelogger.info("...done")
except Exception, e:
self.timelogger.info("Exception: " + str(e))
continue