【问题标题】:selenium.common.exceptions.WebDriverException: Message: 'WebScraping' executable may have wrong permissionsselenium.common.exceptions.WebDriverException:消息:“WebScraping”可执行文件可能有错误的权限
【发布时间】: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?...如果没有,它可能正在尝试执行文件夹...)

标签: selenium google-chrome web-scraping selenium-chromedriver


【解决方案1】:

这里有几件事:

  • 如果你的底层

    • 你必须从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)
      
  • 如果你的底层

    • 您必须从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)
      
  • 如果你的底层

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

参考文献

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

【讨论】:

  • 非常感谢。它为我解决了问题!!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-22
  • 1970-01-01
  • 1970-01-01
  • 2018-09-22
  • 2022-01-20
  • 2019-02-17
  • 2019-04-17
相关资源
最近更新 更多