“Webdrivers”可执行文件可能具有错误的权限。请参阅 https://sites.google.com/a/chromium.org/chromedriver/home

2025-01-13 08:53:00
admin
原创
114
摘要:问题描述:我查看了两份文件,但没有找到答案。我一直在尝试使用 InstaPy,一个用于 Python 的 instagram api。在出现多个错误并失败后,我认为 InstaPy 只是遇到了一些问题,所以我尝试使用 selinium 对其进行原始编码。插入示例代码并根据我的喜好进行修改后,我只是确保这个代码...

问题描述:

我查看了两份文件,但没有找到答案。

我一直在尝试使用 InstaPy,一个用于 Python 的 instagram api。在出现多个错误并失败后,我认为 InstaPy 只是遇到了一些问题,所以我尝试使用 selinium 对其进行原始编码。插入示例代码并根据我的喜好进行修改后,我只是确保这个代码可以正常工作。我收到了一个新的错误,而不是旧的错误,提示权限可能不正确。我尝试重新安装并以管理员身份运行,但没有任何效果。我该如何修复这个问题和/或这是什么意思

代码:

import time
from selenium import webdriver

driver = webdriver.Chrome('C:Webdrivers')  # Optional argument, if not specified will search path.
driver.get('http://www.google.com/xhtml');
time.sleep(5) # Let the user actually see something!
search_box = driver.find_element_by_name('q')
search_box.send_keys('ChromeDriver')
search_box.submit()
time.sleep(5) # Let the user actually see something!
driver.quit()

错误:

Traceback (most recent call last):
  File "C:Program Files (x86)Python36-32libsite-packagesseleniumwebdrivercommonservice.py", line 74, in start
    stdout=self.log_file, stderr=self.log_file)
  File "C:Program Files (x86)Python36-32libsubprocess.py", line 707, in __init__
    restore_signals, start_new_session)
  File "C:Program Files (x86)Python36-32libsubprocess.py", line 990, in _execute_child
    startupinfo)
PermissionError: [WinError 5] Access is denied

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:WebdriversRawBot.py", line 5, in <module>
    driver = webdriver.Chrome('C:Webdrivers')  # Optional argument, if not specified will search path.
  File "C:Program Files (x86)Python36-32libsite-packagesseleniumwebdriverchromewebdriver.py", line 62, in __init__
    self.service.start()
  File "C:Program Files (x86)Python36-32libsite-packagesseleniumwebdrivercommonservice.py", line 86, in start
    os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'Webdrivers' executable may have wrong permissions. Please see https://sites.google.com/a/chromium.org/chromedriver/home

解决方案 1:

此错误信息...

WebDriverException: Message: 'Webdrivers' executable may have wrong permissions.

...意味着您尝试使用的ChromeDriver变体具有错误的权限。


您似乎已经尝试过:

driver = webdriver.Chrome('C:Webdrivers')  # Optional argument, if not specified will search system $PATH variable.

几句话:

  • 如果你的基础操作系统是视窗:

+ 您必须从ChromeDriver 下载位置下载**chromedriver_win32.zip**并解压缩以供使用。
+ 此外,如果您明确指定*Chromedriver*二进制路径,则还必须附加二进制扩展名,即*chromedriver.exe*。
+ 在提到*Chromedriver*二进制路径时,您必须使用单个正斜杠ie`(/)`和原始`(r)`开关,或者必须使用转义的反斜杠ie `(\\)`。
+ 因此,您的有效代码行将是:


driver = webdriver.Chrome(executable_path=r'C:/path/to/chromedriver.exe')
  • 如果你的基础操作系统是Linux的:

+ 您必须从ChromeDriver 下载位置下载**chromedriver_linux64**并解压才能使用。
+ 此外,如果您明确指定*Chromedriver*二进制路径,则**不必**为可执行二进制文件提供任何扩展,实际上就是*chromedriver*。
+ 在提到*Chromedriver*二进制路径时,您必须使用单个正斜杠,即`(/)`。
+ 因此,您的有效代码行将是:


driver = webdriver.Chrome(executable_path='/path/to/chromedriver')
  • 如果你的基础操作系统是苹果系统:

+ 您必须从ChromeDriver 下载位置下载**chromedriver_mac64**并解压才能使用。
+ 此外,如果您明确指定*Chromedriver*二进制路径,则**不必**为可执行二进制文件提供任何扩展,实际上就是*chromedriver*。
+ 在提到`chromedriver`二进制路径时,您必须使用单个正斜杠,即`(/)`。
+ 因此,您的有效代码行将是:


driver = webdriver.Chrome(executable_path='/path/to/chromedriver')

解决方案 2:

输入完整文件名“chromedriver.exe”即可解决此问题。如果您使用的是 Windows,请尝试此方法

解决方案 3:

您只需添加

/chromedriver.exe

在路径的末尾像这样:

driver = webdriver.Chrome('C:/Users/User/Downloads/chromedriver_win32/chromedriver.exe')

注意:如果从“文件资源管理器”复制路径,您将获得:

C:\用户\用户\下载\chromedriver_win32

您将需要使用双反斜杠,如下所示:

C:\\Users\\User\\Downloads\\chromedriver_win32

这样就不会出现语法错误。或者您也可以直接使用正斜杠。

解决方案 4:

如果您使用的是 Linux 操作系统,更改文件权限可能会解决问题。但请注意您对权限的操作:

chmod 755 "/path to chromedriver file"

我通过 python 本身下载了该文件,但不幸的是它禁用了执行权限,这是对它的快速修复。

解决方案 5:

在 Linux 中,您需要指定包括文件本身在内的完整路径,而不仅仅是文件夹(在 Linux 中,默认情况下,下载的 chrome 驱动程序文件位于文件夹中,例如“chromedriver_linux64”,打开该文件夹并检查确切的文件名,通常是“chromedriver”):

from selenium import webdriver
chrome_driver_path = "/home/mn/chromedriver_linux64/chromedriver"
driver = webdriver.Chrome(executable_path=chrome_driver_path)
driver.get("https://www.amazon.com")

解决方案 6:

如果您使用的是 chrome,则必须指定 chromedriver 的完整路径。搜索您的 chromedriver 可执行文件所在的目录。单击 Shift+右键单击可执行文件。选择“复制为路径”并将其粘贴到您的脚本中。不要忘记使用双反斜杠

所以应该是:

driver = webdriver.Chrome('C:\\Utility\\BrowserDrivers\\chromedriver.exe')

解决方案 7:

如果您使用 Mac OS Big Sur 和 Chromedriver 90+,则您的 Chromedriver 的权限可能会出现错误。

如果是这种情况,则不是您通过“chmod”更改的文件权限,而是 Apple Store 保护禁止执行 Web 驱动程序。

如果您希望允许在 Python 环境中或通过命令行使用该驱动程序,请输入:

`$ sudo xattr -r -d com.apple.quarantine  /usr/local/bin/chromedriver`

解决方案 8:

chmod 755 "/path to chromedriver file"

这对我有帮助

解决方案 9:

在 django 中遇到了同样的问题。

然而,当我在本地运行相同的代码(不激活我的 django 应用程序)时,一切都很好,并且不必明确定义 chrome 驱动程序的路径。

通过明确定义路径和 chromederiver.exe 来解决这个问题

与上面的答案类似。path =“C:/Users/YOUR_USER/Desktop/chromedriver/chromedriver.exe”

就我而言,由于我最终想发布我的应用程序,所以我使用了动态路径

IE。

import os

BASE_oaAPP_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
BASE_oaAPP_Utilities_DIR  = os.path.join(BASE_oaAPP_DIR, 'mySubFolderInTheApp')

def utilsPathFileName(fileName):
    return os.path.join(BASE_oaAPP_Utilities_DIR, fileName)

chrome_path = utilsPathFileName('chromedriver.exe')
driver = webdriver.Chrome(chrome_path)

解决方案 10:

WINDOWS:提供完整的文件路径解决问题。

许多教程和文章都是使用以前的版本录制的,您只需提供包含 Web 驱动程序的目录路径。但现在您还必须提供您正在使用的特定驱动程序路径。

而不是C:/WebDrivers给出完整的文件路径C:/WebDrivers/chromedriver.exe

解决方案 11:

同样的问题。我的解决方案是在 Linux 操作系统、Pycharm 编辑器中...

  1. 确保你的 webdriver 文件与其他 python 文件(例如 selinum_driver.py)

  2. 然后只需复制路径并将其粘贴到您的 webdriver.Chrome('path') 中

  3. 不需要编写 webdriver.exe

driver = webdriver.Chrome('/home/raju/Documents/Python-selenium/chromedriver')

解决方案 12:

对于 WINDOWS 10:我在 Visual Studio Code 中运行测试代码时遇到了类似的情况,并显示相同的错误消息。我解决这个问题的方法是关闭 VS Code 应用程序,然后通过右键单击菜单以管理员身份重新打开该应用程序。

解决方案 13:

对我来说,上述答案都不起作用。但将 chromedriver.exe 移动到新路径(在我的情况下是桌面)解决了这个问题。

path = "C:/Users/YOUR_USER/Desktop/chromedriver/chromedriver.exe"

解决方案 14:

当我错误地安装驱动器时,我得到了同样的错误(当为 Mac 下载 Windows 驱动程序时),一旦我纠正它就可以正常工作

解决方案 15:

您需要在驱动程序路径末尾添加 exe 才能工作。

解决方案 16:

找到您安装的 driver.exe,按 Shift 键并单击鼠标右键,复制为路径,然后将其粘贴到您的 IDE

解决方案 17:

我们可以为centos修复这个问题

#Install package chromedriver. Install it using yum    
yum install chromedriver

#Import following package in python.
from selenium import webdriver

#Add following options before initializing the webdriver
chromeOptions = webdriver.ChromeOptions()
chromeOptions.add_argument("--headless")
chromeOptions.add_argument("--remote-debugging-port=9222")
chromeOptions.add_argument('--no-sandbox')
driver = webdriver.Chrome('/usr/bin/chromedriver',chrome_options=chromeOptions)

解决方案 18:

如果你在 Windows 计算机上运行它,你也可以将它添加到 Windows PATH(环境变量)中,这样你就不必声明executable_path。你只需说:webdriver.Chrome(options=your_options)

解决方案 19:

我收到了 MacOs 的错误,将路径更改为下面给出的路径后,问题就解决了。

driver = webdriver.Chrome(executable_path='/path/to/chromedriver')

解决方案 20:

Windows 用户和 Visual Studio 代码:在提到 Chromedriver 二进制路径时,您必须使用单个正斜杠(即 (/) 以及原始 (r) 开关,或者必须使用转义的反斜杠(即 (\)。以及使用精确的路径并在路径末尾添加 chromedriver.exe 以直接指向可执行文件:

driver = webdriver.Chrome(executable_path=r'C:/path/to/chromedriver.exe')

或者:

driver = webdriver.Chrome(r'C:\\Users\\wanja\\Downloads\\Compressed\\chromedriver_win32\\chromedriver.exe')

解决方案 21:

此错误意味着文件 chromedriver 不可执行,我使用运行命令修复此错误(在 linux 中):

sudo chmod +777 chromedriver

这意味着让所有有访问权限的人都可以执行该文件。

相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   2379  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1510  
  PLM(产品生命周期管理)系统在企业项目管理中扮演着至关重要的角色,它能够整合产品从概念设计到退役的全流程信息,提升协同效率,降低成本。然而,项目范围蔓延是项目管理过程中常见且棘手的问题,在PLM系统环境下也不例外。范围蔓延可能导致项目进度延迟、成本超支、质量下降等一系列不良后果,严重影响项目的成功交付。因此,如何在P...
plm项目经理是做什么   16  
  PLM(产品生命周期管理)系统在现代企业的产品研发与管理过程中扮演着至关重要的角色。它不仅仅是一个管理产品数据的工具,更能在利益相关者分析以及沟通矩阵设计方面提供强大的支持。通过合理运用PLM系统,企业能够更好地识别、理解和管理与产品相关的各类利益相关者,构建高效的沟通机制,从而提升产品开发的效率与质量,增强企业的市场...
plm是什么   20  
  PLM(产品生命周期管理)项目管理对于企业产品的全生命周期规划、执行与监控至关重要。在项目推进过程中,监控进度偏差是确保项目按时、按质量完成的关键环节。五维健康检查指标体系为有效监控PLM项目进度偏差提供了全面且系统的方法,涵盖了项目的多个关键维度,有助于及时发现问题并采取针对性措施。需求维度:精准把握项目基石需求维度...
plm项目管理软件   18  
热门文章
项目管理软件有哪些?
曾咪二维码

扫码咨询,免费领取项目管理大礼包!

云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用