Selenium WebDriverException:消息:未知错误:无法确定未知错误的加载状态:缺少或无效'entry.level'

时间:2018-01-12 16:33:17

标签: python google-chrome selenium selenium-webdriver selenium-chromedriver

我有一个使用selenium进行测试的脚本。现在甚至使用

打开Goog​​le页面
driver.get(url) # url = Google homepage url

给我以下错误

driver.get("https://my.gumtree.com/login")
File "C:\Python34\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 245, in get
self.execute(Command.GET, {'url': url})
File "C:\Python34\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 233, in execute
self.error_handler.check_response(response)
File "C:\Python34\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 194, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: cannot determine loading status
from unknown error: missing or invalid 'entry.level'
(Session info: chrome=65.0.3315.3)
(Driver info: chromedriver=2.29.461591 (62ebf098771772160f391d75e589dc567915b233),platform=Windows NT 10.0.16299 x86_64)

我有谷歌铬版65,Chromedriver 2.35和selenium 2.53.1

我根据其他类似问题中提到的解决方案尝试了不同的版本组合(如下表所示),但没有任何效果。

Selenium      Chrome      Chromedriver
2.53.0        63           2.33
2.53.1        65(latest)   2.34
3.6.0                      2.35(latest)
3.7.0
3.8.0
3.8.1(latest)

编辑1:JDK版本

java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

3 个答案:

答案 0 :(得分:3)

错误说明了一切:

selenium.common.exceptions.WebDriverException: Message: unknown error: cannot determine loading status
from unknown error: missing or invalid 'entry.level'

您的主要问题是您使用的二进制文件中的版本兼容性,如下所示:

  • 您正在使用 chromedriver=2.29.461591 (根据日志,虽然您在提问时提到了Chromedriver 2.35
  • chromedriver=2.29.461591的发行说明明确提及以下内容:
  

<强> Supports Chrome v56-58

  • 您正在使用 chrome=65.0.3315.3
  • chromedriver=2.35的发行说明明确提及以下内容:
  

<强> Supports Chrome v62-64

  • 您正在使用 Selenium Version 2.53.1
  • 我们不知道 JDK version

解决方案

  • JDK升级到最近的级别 JDK Version 8 Update 151
  • ChromeDriver升级为 ChromeDriver v2.35 级别。
  • Chrome保持在 Chrome v64.x 级别。 (as per ChromeDriver v2.35 release notes
  • Selenium升级到当前级别 Version 3.8.1
  • IDE &amp;中清除项目工作区 重建所有
  • 运行CCleaner工具以清除所有操作系统杂务。
  • 如果您的Chrome版本太旧,请通过Revo Uninstaller卸载Chrome并安装最新的GA版本的Chrome。
  • 进行系统重启
  • 执行Test

答案 1 :(得分:2)

转到 http://chromedriver.chromium.org/downloads

根据您的操作系统复制下载链接

wget -N paste_the_link_you_copied

使用以下命令将其解压缩

unzip chromedriver_linux64.zip

通过以下命令授予权限

chmod +x chromedriver

然后按照以下命令进行操作,如果它说已经存在(可能是旧版本),则转到该路径(/ usr / local / bin / chromedriver和/ usr / bin / chromedriver)并删除chromedriver并再次运行命令< / p>

sudo mv -f chromedriver /usr/local/share/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver

希望这会有所帮助。谢谢

答案 2 :(得分:1)

该错误表示您的Chrome浏览器与网络驱动程序不兼容。如果您使用的是Linux,则只需执行以下命令。 sudo apt-get更新