selenium.common.exceptions.WebDriverException:消息:“WebScraping”可执行文件可能有错误的权限

Posted

技术标签:

【中文标题】selenium.common.exceptions.WebDriverException:消息:“WebScraping”可执行文件可能有错误的权限【英文标题】:selenium.common.exceptions.WebDriverException: Message: 'WebScraping' executable may have wrong permissions 【发布时间】:2022-01-19 21:12:45 【问题描述】:

我似乎无法完成这项工作。它总是显示错误的权限。我已经下载了chromedriver版本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)

【问题讨论】:

您可以检查文件的权限并在必要时进行更改。这是java吗? (什么是“WebScraping”可执行文件?您是否重命名了 chromedriver?...如果没有,它可能正在尝试执行文件夹...) 【参考方案1】:

这里有几件事:

如果你的底层os 是windows:

你必须从ChromeDriver Download Location下载chromedriver_win32.zip并解压才能使用。

此外,如果您明确指定 Chromedriver 二进制路径,则还必须附加二进制扩展名,即 chromedriver.exe

在提到 Chromedriver 二进制路径时,您必须使用单个 forward slash 即 (/) 以及原始 (r) 开关,或者您必须使用转义的 backslash 即 @ 987654337@.

所以你的有效代码行将是:

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)

如果你的底层os 是linux:

您必须从ChromeDriver Download Location 下载 chromedriver_linux64 并解压以供使用。

此外,如果您明确指定 Chromedriver 二进制路径,您不必必须为可执行二进制文件提供任何扩展名,即 chromedriver em>。

在提到 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)

如果你的底层os 是macos:

您必须从ChromeDriver Download Location 下载 chromedriver_mac64 并解压以供使用。

此外,如果您明确指定 Chromedriver 二进制路径,您不必必须为可执行二进制文件提供任何扩展名,即 chromedriver em>。

在提及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)

参考文献

您可以在以下位置找到一些详细的讨论:

'Webdrivers' executable may have wrong permissions. Please see https://sites.google.com/a/chromium.org/chromedriver/home

【讨论】:

非常感谢。它为我解决了问题!!!

以上是关于selenium.common.exceptions.WebDriverException:消息:“WebScraping”可执行文件可能有错误的权限的主要内容,如果未能解决你的问题,请参考以下文章