【发布时间】: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。但确实,这个问题的主题问题从未得到解决。