尝试让
selenium
使用 Python 3 进行网页抓取:
from selenium import webdriver
chrome_path = r"/Library/Frameworks/Python.framework/Versions/3.6/bin/chromedriver"
driver = webdriver.Chrome(chrome_path)
我收到以下错误消息:
selenium.common.exceptions.WebDriverException:消息:未知错误:找不到 Chrome 二进制文件
类似的问题已在 here 得到解决,但令我困惑的是 Chrome 已经安装在我的系统上。另一个提问者的计算机上显然没有该信息。我正在运行最新版本的 Mac 操作系统。
问题是 chromedriver 还需要知道 chrome 在哪里。在您的情况下,它位于非默认路径。因此,您需要指定
Google Chrome
二进制文件的完整路径。
options = webdriver.ChromeOptions()
options.binary_location = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
chrome_driver_binary = "/usr/local/bin/chromedriver"
driver = webdriver.Chrome(chrome_driver_binary, chrome_options=options)
上面的代码是你应该使用的
我在学习selenium时遇到了这个烦人的问题。 这是我的解决方案:(MacOS 10.13.4)
brew cask install chromedriver
brew cask install google-chrome
感谢 homebrew 现在 chrome 和 chromedriver 安装在同一个文件夹中,这个问题将自动解决。
如果有人在 Linux 计算机上遇到相同的错误,那么您就缺少 google chrome 安装,这是 chrome 驱动程序正常工作所需的步骤之一。
按照 此链接 在 Linux 上安装 Google chrome。
现在,检查代码
driver = webdriver.Chrome(executable_path='/usr/bin/chromedriver', options=chrome_options, service_args=['--verbose', '--log-path=/tmp/chromedriver.log'])
对我来说它有效。
在Win上设置chrome.exe的名称很重要,否则无法创建进程(见下文):
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
options = webdriver.ChromeOptions()
options.binary_location = r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
chrome_driver_binary = r"C:/Users/Max/.wdm/chromedriver/75.0.3770.8/win32/chromedriver.exe"
driver = webdriver.Chrome(chrome_driver_binary, chrome_options=options)
driver.get('http://web.whatsapp.com')
selenium.common.exceptions.WebDriverException:消息:未知错误:无法创建 Chrome 进程。
对于 Firefox(下载驱动程序 https://github.com/mozilla/geckodriver/releases):
options = webdriver.FirefoxOptions()
#options.add_argument('-headless')
#options.binary_location = r"C:\maxbook\maxboxpython\geckodriver-v0.24.0-win64\geckodriver.exe"
options.binary_location = r"C:\Program Files (x86)\Mozilla Firefox\firefox.exe"
firefox_driver_binary = r"C:\maxbook\maxboxpython\geckodriver-v0.24.0-win64\\"
driver = webdriver.Firefox(firefox_driver_binary, options=options)
就我而言,我安装了 Chrome 浏览器,然后它就不会抛出错误。
options = webdriver.ChromeOptions()
options.binary_location = r"<YOUR_CHROME_PATH>\chrome.exe"
chrome_driver_path = r"<PATH_TO_CHROME_DRIVER>\chromedriver.exe>"
browser = webdriver.Chrome(chrome_driver_path, chrome_options=options)
如果您的
chromedriver
位于 /Library/Frameworks/Python.framework/Versions/3.6/bin/
目录中,以下代码块应该适合您:
from selenium import webdriver
chrome_path = r'/Library/Frameworks/Python.framework/Versions/3.6/bin/chromedriver'
driver = webdriver.Chrome(executable_path=chrome_path)
driver.get('https://www.google.co.in')
您只需下载最新版本的 chrome 和 chromedriver 并安装 它
我最近通过简单地下载Chrome浏览器解决了这个问题。下载它并使用此代码下载最新版本的 chrome 驱动程序
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
创建文件
main.py
有内容
from selenium import webdriver
options = webdriver.ChromeOptions()
options.binary_location = r"C:\Program Files\Google\Chrome\Application\chrome.exe"
chrome_driver_binary = r"C:/Users/firerose/Downloads/chromedriver_win32/chromedriver.exe"
driver = webdriver.Chrome(chrome_driver_binary, options=options)
driver.get('https://golangnow.com')
注意:新关键字是
options
.
相关链接
如果您使用的是 ubuntu,请确保 chromedriver 可执行文件指向正确的 chromedriver。
就我而言,我遇到了这样的错误:
from unknown error: no chrome binary at /usr/bin/chromedriver
而我的可执行文件是:
/usr/local/bin/chromedriver-linux64/chromedriver
通过删除路径
/usr/bin/chromedriver
它对我有用
对于苹果机: 请注意 Chrome 和 .app
之间的空格options = webdriver.ChromeOptions()
options.binary_location = "/Applications/Google Chrome .app/Contents/MacOS/Google Chrome"
chrome_driver_binary = "/usr/local/bin/chromedriver"
driver = webdriver.Chrome(chrome_driver_binary, chrome_options=options)