尝试让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 OS。
答案 0 :(得分:12)
问题是chromedriver还需要知道铬的位置。在您的情况下,它处于非默认路径。因此,您需要指定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)
以上代码是您应该使用的
答案 1 :(得分:1)
如果您的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')
答案 2 :(得分:1)
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)
答案 3 :(得分:1)
当我学习硒时,我遇到了这个恼人的问题。 这是我的解决方案:(MacOS 10.13.4)
brew cask install chromedriver
brew cask install google-chrome
感谢homebrew现在chrome和chromedriver安装在同一个文件夹中,这个问题将自动解决。
答案 4 :(得分:1)
就我而言,我安装了 Chrome 浏览器,然后它不会抛出错误。
答案 5 :(得分:0)
如果有人在linux计算机上遇到相同的错误,则说明您缺少 google chrome 安装,这是chrome驱动程序正常工作所需的步骤之一。
点击下面的链接以在Linux上安装Google chrome,
https://www.cyberciti.biz/faq/howto-install-google-chrome-on-redhat-rhel-fedora-centos-linux/
现在,输入验证码
驱动程序= webdriver.Chrome(executable_path ='/ usr / bin / chromedriver',options = chrome_options,service_args = ['-verbose','--log-path = / tmp / chromedriver.log' ])
对我来说有效。
答案 6 :(得分:0)
在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)
答案 7 :(得分:0)
这个 article 给出了正在发生的事情的完整分类。安装最新的网络驱动程序应该可以解决问题,而不是更改代码。
基本上 85 版的 chrome 安装在不同的位置,但这只会影响新安装,因此大多数人不会注意到。
最新的网络驱动程序了解新位置,因此获取更新的驱动程序是最简单的解决方案 - 当然,除非您特别需要测试旧版本。
答案 8 :(得分:0)
您只需要下载最新版本的 chrome 和 chromedriver 并安装 它