试图学习如何使用selenium,我设法克服了第一个错误,其中涉及chrome驱动程序不在路径名中,但它引发了另一个错误。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome('/Users/williamneal/Scratch/Titanic/chromedriver')
driver.get("http://www.bbc.com")
错误: 回溯(最近一次调用最后一次):
File "<ipython-input-1-84256e62b8db>", line 5, in <module>
driver = webdriver.Chrome('/Users/williamneal/Scratch/Titanic/chromedriver')
File "/Users/williamneal/anaconda/lib/python3.5/site-packages/selenium/webdriver/chrome/webdriver.py", line 62, in __init__
self.service.start()
File "/Users/williamneal/anaconda/lib/python3.5/site-packages/selenium/webdriver/common/service.py", line 64, in start
stdout=self.log_file, stderr=self.log_file)
File "/Users/williamneal/anaconda/lib/python3.5/subprocess.py", line 950, in __init__
restore_signals, start_new_session)
File "/Users/williamneal/anaconda/lib/python3.5/subprocess.py", line 1544, in _execute_child
raise child_exception_type(errno_num, err_msg)
OSError: [Errno 8] Exec format error
有一个潜在的解决方案here,其中涉及通过Home Brew安装Chrome驱动程序,但该选项无法使用。
有什么想法吗?
答案 0 :(得分:14)
看起来这是抱怨chromedriver二进制文件的格式。 这可能是因为平台和chromedriver格式不匹配。例如,windows需要chromedriver.exe,而linux和mac有不同的格式。
如果您不想通过软件包管理器安装,只需从https://sites.google.com/a/chromium.org/chromedriver/downloads下载chromedriver
注意:根据您的操作系统选择文件
然后将它放在os上的任何位置并将该路径作为参数传递。如果您不想每次都传递该位置,也可以设置webdriver.chrome.driver环境变量。
答案 1 :(得分:2)
仅供参考,如果您在将chromedriver添加到PATH之前未将其解压缩,也可能会遇到此问题。