python 将 chrome 从108更新为110后:Web驱动程序异常:错误提示:未知错误无法发现打开的页面

piv4azn7  于 2023-02-18  发布在  Python
关注(0)|答案(1)|浏览(163)

我正在使用Selenium访问一个需要登录的服务。我登录了一次,然后登录数据保存到用户数据中,我指定的目录如下:

chrome_options.add_argument("--user-data-dir=%s" % self.user_dir)

一切都很好,直到我更新了系统(Ubuntu服务器),Chromium从108更新到110,我面临的第一个问题是我需要将ChromeDriver更新到110. 0. 5481. 77。
现在,当我像往常一样使用Selenium时,花了很长时间才得到以下错误:

File "/home/user/bots/teleBots/app/wa.py", line 49, in __init__
    browser = webdriver.Chrome(executable_path=driver, options=self.chrome_options,
  File "/home/user/ak_env_9/lib/python3.9/site-packages/selenium/webdriver/chrome/webdriver.py", line 81, in __init__
    super().__init__(
  File "/home/user/ak_env_9/lib/python3.9/site-packages/selenium/webdriver/chromium/webdriver.py", line 106, in __init__
    super().__init__(
  File "/home/user/ak_env_9/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 288, in __init__
    self.start_session(capabilities, browser_profile)
  File "/home/user/ak_env_9/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 381, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/home/user/ak_env_9/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 444, in execute
    self.error_handler.check_response(response)
  File "/home/user/ak_env_9/lib/python3.9/site-packages/selenium/webdriver/remote/errorhandler.py", line 249, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: unable to discover open pages

我搜索了解决方案,其中大多数建议使用选项:

chrome_options.add_argument("--no-sandbox")

以及其他:

chrome_options.add_argument("--remote-debugging-port=9222")

但在我删除用户目录选项之前,我什么都不想做:

#chrome_options.add_argument("--user-data-dir=%s" % self.user_dir)

这对我很有效,但每次运行脚本时我都必须登录。
我该如何解决这个问题?
是否有无论如何要降级 chrome 浏览器到108?(我需要Ubuntu的deb文件)
或者使用user-data-dir以外的任何方法来保持登录活动?

pftdvrlh

pftdvrlh1#

我很幸运地在我的下载目录中找到了一个旧版本的google chrome(108)。
我使用以下命令安装了它:

sudo dpkg -i google-chrome-stable_current_amd64.deb

然后,我下载了正确版本的Chrome驱动程序从:https://chromedriver.chromium.org/downloads
是的!生活恢复正常。可能是新的chrome驱动程序中的一个bug。希望我们能为版本110找到其他解决方案

相关问题