WebDriverException:消息:“chromedriver"可执行文件需要在 PATH 中,同时通过 Selenium Chromedriver python 设置 UserAgent

问题描述

我是网络抓取的新手,我正在尝试使用以下代码来修改我的用户代理:

I'm a newbie in webscraping, I'm trying to modify my user agent using these lines :

from selenium import webdriver
chrome_path = r'C:UsersDesktopchromedriver_win32chromedriver.exe'   
driver = webdriver.Chrome(chrome_path)
options = webdriver.ChromeOptions()
options.add_argument('user-agent = Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36')
driver = webdriver.Chrome(chrome_options=options)

环境变量中的路径没有问题,但我一直收到此错误消息:

The path in environment variable is ok but I keep having this error message:

File "C:UsersAppDataLocalProgramsPythonPython36-32libsite-packagesseleniumwebdrivercommonservice.py", line 76, in startstdin=PIPE)
File "C:UsersAppDataLocalProgramsPythonPython36-32libsubprocess.py",line 709, in __init__restore_signals, start_new_session)
File "C:UsersAppDataLocalProgramsPythonPython36-32libsubprocess.py",line 997, in _execute_child startupinfo).
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:UserssafiaAppDataLocalProgramsPythonPython36-32Test 3- User Agent.py", line 9, in <module>
driver = webdriver.Chrome(chrome_options=options)
File "C:UserssafiaAppDataLocalProgramsPythonPython36-32libsite-packagesseleniumwebdriverchromewebdriver.py", line 68, in __init__
self.service.start()
File "C:UserssafiaAppDataLocalProgramsPythonPython36-32libsite-packagesseleniumwebdrivercommonservice.py", line 83, in start
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home

你能帮我解决这个问题吗?

Can you please help me fix this issue?


解决方案

这个错误信息...

selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH

...暗示 ChromeDriver 在 环境变量 内的 PATH 变量中指定的位置中找不到.

...implies that the ChromeDriver was not found within the locations specified within PATH variable within Environment Variables.

您需要传递 Key executable_path 以及 Value 引用 ChromeDriver 的绝对路径连同 ChromeOptions 对象作为参数,同时初始化 WebDriver 和 WebBrowser,如下所示:

You need to pass the Key executable_path along with the Value referring to the absolute path of the ChromeDriver along with the ChromeOptions object as an argument while initializing the WebDriver and WebBrowser as follows :

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument('user-agent = Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36')
driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:UsersDesktopchromedriver_win32chromedriver.exe')
driver.get('https://www.google.co.in')

相关文章