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)

这里有几件事:

  • 如果您的标的 is :

    • 您必须从 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)
      
  • 如果您的标的 is :

    • 您必须从 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)
      
  • 如果您的标的 is :

    • 您必须从 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)
      

参考资料

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