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

2025-01-13 08:53:00
admin
原创
92
摘要:问题描述:我查看了两份文件,但没有找到答案。我一直在尝试使用 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大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   1590  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1361  
  信创产品在政府采购中的占比分析随着信息技术的飞速发展以及国家对信息安全重视程度的不断提高,信创产业应运而生并迅速崛起。信创,即信息技术应用创新,旨在实现信息技术领域的自主可控,减少对国外技术的依赖,保障国家信息安全。政府采购作为推动信创产业发展的重要力量,其对信创产品的采购占比情况备受关注。这不仅关系到信创产业的发展前...
信创和国产化的区别   18  
  信创,即信息技术应用创新产业,旨在实现信息技术领域的自主可控,摆脱对国外技术的依赖。近年来,国货国用信创发展势头迅猛,在诸多领域取得了显著成果。这一发展趋势对科技创新产生了深远的推动作用,不仅提升了我国在信息技术领域的自主创新能力,还为经济社会的数字化转型提供了坚实支撑。信创推动核心技术突破信创产业的发展促使企业和科研...
信创工作   18  
  信创技术,即信息技术应用创新产业,旨在实现信息技术领域的自主可控与安全可靠。近年来,信创技术发展迅猛,对中小企业产生了深远的影响,带来了诸多不可忽视的价值。在数字化转型的浪潮中,中小企业面临着激烈的市场竞争和复杂多变的环境,信创技术的出现为它们提供了新的发展机遇和支撑。信创技术对中小企业的影响技术架构变革信创技术促使中...
信创国产化   19  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

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

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

内置subversion和git源码管理

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

免费试用