【问题标题】:Making program using Chromedriver, getting error: "Could not get version for Chrome with this command"使用 Chromedriver 制作程序,出现错误:“Could not get version for Chrome with this command”
【发布时间】:2019-07-24 05:14:28
【问题描述】:

这是我的代码。我这样做是因为当我尝试放置 chromedriver.exe 的路径时,我要么得到“WebDriverException:消息:'chromedriver.exe' 可执行文件可能有错误的权限”或“WebDriverException:消息:'chromedriver'可执行文件需要在 PATH 中”,我不知道如何解决它。

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager


browser = webdriver.Chrome(ChromeDriverManager().install())

运行此代码会出现以下错误:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-43-614c8d8b619c> in <module>
      5 
      6 
----> 7 browser = webdriver.Chrome(ChromeDriverManager().install())
      8 

/srv/conda/envs/notebook/lib/python3.7/site-packages/webdriver_manager/chrome.py in install(self, path)
     17     def install(self, path=None):
     18         # type: () -> str
---> 19         bin_file = self._file_manager.download_driver(self.driver, path)
     20         os.chmod(bin_file.path, 0o755)
     21         return bin_file.path

/srv/conda/envs/notebook/lib/python3.7/site-packages/webdriver_manager/cache.py in download_driver(self, driver, path, subpath)
     70         if path is not None:
     71             path = os.path.abspath(path)
---> 72         cached_binary = self.get_cached_binary(driver, path, subpath)
     73         if cached_binary:
     74             return cached_binary

/srv/conda/envs/notebook/lib/python3.7/site-packages/webdriver_manager/cache.py in get_cached_binary(self, driver, path, subpath)
     36 
     37         name = driver.name
---> 38         version = driver.get_version()
     39         os_type = driver.os_type
     40         console("")

/srv/conda/envs/notebook/lib/python3.7/site-packages/webdriver_manager/driver.py in get_version(self)
     32         # type: () -> str
     33         if self._version == "latest":
---> 34             return self.get_latest_release_version()
     35         return self._version
     36 

/srv/conda/envs/notebook/lib/python3.7/site-packages/webdriver_manager/driver.py in get_latest_release_version(self)
     48         # type: () -> str
     49         resp = requests.get(
---> 50             self.config.driver_latest_release_url + '_' + chrome_version()
     51         )  # returns chromedriver version for current browser version
     52         validate_response(self, resp)

/srv/conda/envs/notebook/lib/python3.7/site-packages/webdriver_manager/utils.py in chrome_version()
     60     if not version:
     61         raise ValueError(
---> 62             'Could not get version for Chrome with this command: {}'.format(cmd)
     63         )
     64     return version.group(0)

ValueError: Could not get version for Chrome with this command: google-chrome --version

老实说,我完全不知道我能做些什么来解决这个问题。

【问题讨论】:

  • 你解决了吗?
  • 我刚刚手动安装了Chrome驱动并引用了可执行路径browser = webdriver.Chrome(executable_path='chromedriver.exe')
  • 那么你根本不使用 webdriver_manager 吗?
  • 是的,看看我的代码,我显然解决了我在这个问题中描述的问题,我说我无法放置 chromedriver.exe 的路径,让我不需要 webdriver_manager。不幸的是,我不记得我是如何解决这个问题的。
  • 在我的问题正文中,我说当我尝试放置 chromedriver.exe 的路径时,我收到了一条错误消息,这就是我使用 webdriver_manager 的原因。我修复了 那个 问题,让我无需弄清楚为什么我不能使用 webdriver_manager。但确实,这个问题的主题问题从未得到解决。

标签: python selenium-webdriver


【解决方案1】:

这是 webdriver_manager link 中的一个错误。

为避免此问题,您可以使用 google-chrome-stable 浏览器代替 chromium-browser。

【讨论】:

    【解决方案2】:

    那是因为你没有提到 chrome 类型。使用以下代码

    from webdriver_manager.chrome import ChromeDriverManager
    from webdriver_manager.utils import ChromeType
    
    
        browser = webdriver.Chrome(ChromeDriverManager(chrome_type=ChromeType.GOOGLE).install())
    

    【讨论】:

    • 这对我也不起作用...我收到一条消息:ValueError:无法使用此命令获取 Chrome 的版本:google-chrome --version || google-chrome-stable --version
    【解决方案3】:

    回答有点晚了,但可能是你缺少包,就像我在 Heroku 上缺少构建包一样。

    heroku buildpacks:add heroku/chromedriver

    heroku buildpacks:add heroku/google-chrome

    在此之后,执行一次空提交并重新部署:

    git commit --allow-empty -m "Empty Commit"

    git push heroku master

    【讨论】:

      猜你喜欢
      • 2022-02-20
      • 2012-05-31
      • 2013-01-14
      • 1970-01-01
      • 2022-07-13
      • 2021-12-18
      相关资源
      最近更新 更多