web-dev-qa-db-ja.com

Selenium chromedriver 2.25 TimeoutExceptionがロードステータスを判別できない

使っています python3 Mac OSで、Chrome、chromedriverおよびSeleniumを最新バージョンに更新しました。 TimeoutExceptionを取得しています。ブラウザは正しく開きますが、フリーズします。

>>> from Selenium import webdriver
>>> driver = webdriver.Chrome()
# opens browser with blank page
>>> driver.get('http://example.com')
# gets first page OK and then driver literally flashes once
>>> driver.get('http://stackoverflow.com')
>>>
# Cursor loading forever... until TimeoutException

このエラーがスローされます:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.5/site-packages/Selenium/webdriver/remote/webdriver.py", line 248, in get
    self.execute(Command.GET, {'url': url})
  File "/usr/local/lib/python3.5/site-packages/Selenium/webdriver/remote/webdriver.py", line 236, in execute
    self.error_handler.check_response(response)
  File "/usr/local/lib/python3.5/site-packages/Selenium/webdriver/remote/errorhandler.py", line 192, in check_response
    raise exception_class(message, screen, stacktrace)
Selenium.common.exceptions.TimeoutException: Message: timeout: cannot determine loading status
from timeout: Timed out receiving message from renderer: -0.003
  (Session info: chrome=54.0.2840.71)
  (Driver info: chromedriver=2.25.426935 (820a95b0b81d33e42712f9198c215f703412e1a1),platform=Mac OS X 10.12.0 x86_64)

私が使用しています:Python 3.5.2Chrome 54.0chromedriver 2.25Selenium 3.0.1

私はchromedriverの他のバージョンを試しましたが、成功しませんでした。また、これに対するオンラインでの解決策は見つかりませんでした。ありがとう。

編集:

それでも上からエラーが発生する+新しいエラーが発生する:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.5/site-packages/Selenium/webdriver/chrome/webdriver.py", line 69, in __init__
    desired_capabilities=desired_capabilities)
  File "/usr/local/lib/python3.5/site-packages/Selenium/webdriver/remote/webdriver.py", line 92, in __init__
    self.start_session(desired_capabilities, browser_profile)
  File "/usr/local/lib/python3.5/site-packages/Selenium/webdriver/remote/webdriver.py", line 179, in start_session
    response = self.execute(Command.NEW_SESSION, capabilities)
  File "/usr/local/lib/python3.5/site-packages/Selenium/webdriver/remote/webdriver.py", line 236, in execute
    self.error_handler.check_response(response)
  File "/usr/local/lib/python3.5/site-packages/Selenium/webdriver/remote/errorhandler.py", line 192, in check_response
    raise exception_class(message, screen, stacktrace)
Selenium.common.exceptions.WebDriverException: Message: session not created exception
from unknown error: bad inspector message: {"method":"Page.loadEventFired","params":{"timestamp":14220,088073}}
  (Session info: chrome=54.0.2840.71)
  (Driver info: chromedriver=2.25.426935 (820a95b0b81d33e42712f9198c215f703412e1a1),platform=Mac OS X 10.12.0 x86_64)
14
RMM

Selenium.common.exceptions.TimeoutException:メッセージ:タイムアウト:タイムアウトから読み込みステータスを判別できません:レンダラーからのメッセージの受信がタイムアウトしました:-0.003

Issue817:この問題はSeleniumのバグとして記録されているようです

誰かが、Chromeの--dns-prefetch-disableオプションを使用して、この問題を回避するように回答しました。

from Selenium.webdriver import Chrome
from Selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_argument('--dns-prefetch-disable')
driver = Chrome(chrome_options=chrome_options)

問題がまだ存在する場合は、このスレッドに従ってください。問題が解決する可能性があります

11
Saurabh Gaur

セットする

env LANG = en_US.UTF-8 ./chromedriver

から: https://bugs.chromium.org/p/chromedriver/issues/detail?id=1552

0
Romain Jouin