我似乎无法完成这项工作。它始终显示错误的权限。我已经下载了chromedriver版本96,我的chrome版本是96。我知道可执行路径已贬值,并将其更改为服务。有人可以帮我解决这个问题吗?
这是代码:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
chrome_driver_path = "/Users/thangtruong/WebScraping"
service = ChromeService(executable_path=chrome_driver_path)
driver = webdriver.Chrome(service=service)
website = "https://www.amazon.com"
driver.get(website)
这里有几件事:
如果你的基础操作系统是窗口:
您必须从ChromeDriver下载位置下载chromedriver_win32.zip并将其解压缩以供使用。
此外,如果您显式指定Chromedriver二进制路径,则还必须附加二进制扩展名,即chromedriver.exe。
在提到Chromedriver二进制路径时,您必须使用单个正斜杠,即
(/)
与原始(r)
开关一起,或者您必须使用转义的反斜杠,即(\)
.所以你的有效代码行将是:
chrome_driver_path = r'C:/Users/thangtruong/WebScraping/chromedriver.exe' service = ChromeService(executable_path=chrome_driver_path) driver = webdriver.Chrome(service=service) website = "https://www.amazon.com" driver.get(website)
如果您的底层操作系统是 linux:
您必须从ChromeDriver下载位置下载chromedriver_linux64并将其解压缩以供使用。
此外,如果您明确指定了Chromedriver二进制路径,则不必为可执行二进制文件提供任何扩展名,即chromedriver。
在提到Chromedriver二进制路径时,您必须使用单个正斜杠,即
(/)
.所以你的有效代码行将是:
chrome_driver_path = '/Users/thangtruong/WebScraping/chromedriver' service = ChromeService(executable_path=chrome_driver_path) driver = webdriver.Chrome(service=service) website = "https://www.amazon.com") driver.get(website)
如果您的底层操作系统是 macos:
您必须从ChromeDriver下载位置下载chromedriver_mac64并将其解压缩以供使用。
此外,如果您明确指定了Chromedriver二进制路径,则不必为可执行二进制文件提供任何扩展名,即chromedriver。
在提到
chromedriver
二进制路径时,您必须使用单个正斜杠,即(/)
.所以你的有效代码行将是:
chrome_driver_path = '/Users/thangtruong/WebScraping/chromedriver' service = ChromeService(executable_path=chrome_driver_path) driver = webdriver.Chrome(service=service) website = "https://www.amazon.com" driver.get(website)
参考资料
您可以在以下位置找到一些详细的讨论:
- "Web驱动程序"可执行文件可能具有错误的权限。请参阅 https://sites.google.com/a/chromium.org/chromedriver/home