selenium.common.exceptions.WebDriverException:消息:'WebScraping' 可执行文件可能有错误的权限
selenium.common.exceptions.WebDriverException: Message: 'WebScraping' executable may have wrong permissions
我似乎无法完成这项工作。它总是显示错误的权限。我已经下载了chrome驱动版本96,我的chrome版本是96,我知道可执行路径已经被折旧,改成了Service。有人可以帮我解决这个问题吗?
代码如下:
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 Download Location 下载 chromedriver_win32.zip 并解压才能使用。
此外,如果您明确指定 Chromedriver 二进制路径,您还必须附加二进制扩展名,即 chromedriver.exe.
在提到 Chromedriver 二进制路径时,您必须使用单个 forward slash i.e. (/)
along with the raw (r)
switch or you have to use the escaped backslash 即 (\)
.
因此您的有效代码行将是:
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)
-
您必须从 ChromeDriver Download Location 下载 chromedriver_linux64 并解压以供使用。
此外,如果您明确指定 Chromedriver 二进制路径,您 不必 提供任何扩展名对于可执行二进制文件,有效即 chromedriver.
在提到 Chromedriver 二进制路径时,您必须使用单个 forward slash 即 (/)
.
因此您的有效代码行将是:
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)
-
您必须从 ChromeDriver Download Location 下载 chromedriver_mac64 并解压以供使用。
此外,如果您明确指定 Chromedriver 二进制路径,您 不必 提供任何扩展名对于可执行二进制文件,有效即 chromedriver.
在提到 chromedriver
二进制路径时,您必须使用单个 forward slash 即 (/)
.
因此您的有效代码行将是:
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)
参考资料
您可以在以下位置找到一些详细的讨论:
我似乎无法完成这项工作。它总是显示错误的权限。我已经下载了chrome驱动版本96,我的chrome版本是96,我知道可执行路径已经被折旧,改成了Service。有人可以帮我解决这个问题吗?
代码如下:
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 Download Location 下载 chromedriver_win32.zip 并解压才能使用。
此外,如果您明确指定 Chromedriver 二进制路径,您还必须附加二进制扩展名,即 chromedriver.exe.
在提到 Chromedriver 二进制路径时,您必须使用单个 forward slash i.e.
(/)
along with the raw(r)
switch or you have to use the escaped backslash 即(\)
.因此您的有效代码行将是:
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)
-
您必须从 ChromeDriver Download Location 下载 chromedriver_linux64 并解压以供使用。
此外,如果您明确指定 Chromedriver 二进制路径,您 不必 提供任何扩展名对于可执行二进制文件,有效即 chromedriver.
在提到 Chromedriver 二进制路径时,您必须使用单个 forward slash 即
(/)
.因此您的有效代码行将是:
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)
-
您必须从 ChromeDriver Download Location 下载 chromedriver_mac64 并解压以供使用。
此外,如果您明确指定 Chromedriver 二进制路径,您 不必 提供任何扩展名对于可执行二进制文件,有效即 chromedriver.
在提到
chromedriver
二进制路径时,您必须使用单个 forward slash 即(/)
.因此您的有效代码行将是:
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)
参考资料
您可以在以下位置找到一些详细的讨论: