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

os8fio9y  于 2023-11-14  发布在  Go
关注(0)|答案(5)|浏览(181)

我有一个脚本,它使用 selenium 进行测试。现在甚至打开一个谷歌网页使用

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)


我有谷歌Chrome版本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)

rqdpfwrv

rqdpfwrv1#

错误说明了一切:

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 中清理 * 项目工作区 * 并 * 全部重建 *。
  • 运行CCleaner工具来消除所有的操作系统杂务。
  • 如果您的Chrome基础版本太旧,请通过Revo Uninstaller卸载Chrome,然后安装最新正式发布版本的Chrome。
  • 进行 * 系统重启 *。
  • 执行您的Test
9rnv2umw

9rnv2umw2#

转到 * 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并再次运行命令

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


希望这能帮上忙。谢谢

ecfdbz9o

ecfdbz9o3#

出现此错误是因为您的Chrome浏览器与Web驱动程序不兼容。如果您使用的是Linux,则只需执行以下命令。sudo apt-get update

mzsu5hc0

mzsu5hc04#

最近我也遇到了同样的问题,花了我太多的时间来弄清楚到底是怎么回事,在我遇到这个问题的情况下,我在使用Chrome进程后没有关闭它,所以你应该在退出应用程序时检查进程退出与否,这是我最后一次工作的Python 3代码演示,希望它能帮助其他人:

@staticmethod
    def fetch_music_download_url(music_name: str):
        chrome_driver_service = Service(ChromeDriverManager(chrome_type=ChromeType.GOOGLE).install())
        chrome_options = Options()
        chrome_options.add_argument("--no-sandbox")
        chrome_options.add_argument("--headless")
        chrome_options.add_argument("--disable-gpu")
        chrome_options.add_argument("--remote-debugging-port=9230")
        driver = webdriver.Chrome(service=chrome_driver_service,
                                  options=chrome_options,
                                  executable_path="/usr/local/bin/chromedriver")
        try:
            driver.maximize_window()
            driver.get('http://tool.example.cn/music/?page=audioPage&type=migu&name=' + music_name)
            driver.implicitly_wait(5)
            driver.find_element(By.CSS_SELECTOR, ".aplayer-list-download.iconfont.icon-xiazai").click()
            urls = [a.get_attribute('href') for a in
                    driver.execute_script('return document.querySelectorAll(".modal-body a[href*=\'http\']")')]
            for url in urls:
                if "listenSong.do" in url:
                    logger.info("fetched url:" + url)
                    FetchMusic.do_save_music_download_url(url)
        except Exception as e:
            logger.error("scrapy impl error", e)
        finally:
            driver.stop_client()
            driver.close()
            driver.quit()
            chrome_driver_service.stop()

字符串

pqwbnv8z

pqwbnv8z5#

升级没有解决我的问题,但this已经解决了我的问题。

try   {
    Driver.Navigate().GoToUrl(url);   }   
catch (WebDriverException ex)   {
    if (Driver.Url == url)
      return;   }

字符串

相关问题