python - PermissionError:[Errno 13] 权限被拒绝:PosixPath('...')
问题描述
- 对于上下文,我在MacOS Big Sur 11.0.1上运行它,这里的相关变量是:
- 蟒蛇 3.8
- 硒
- 铬驱动程序
- 路径库
- venv
- 点子3
我正在编写一个使用Selenium和Chromedriver的网络自动化脚本。我使用venv和pip3在项目文件夹中本地安装;虚拟环境当前处于活动状态(使用
source bin/activate
)。在程序中,我使用pathlib来获取 chromedriver 的路径, 我在实例化时将current_path = pathlib.Path.cwd()
其交给Selenium 的 webdriver 。chromedriver_path = current_path / 'lib/python3.8/site-packages/chromedriver'
该程序立即引发此错误和回溯消息:
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/selenium/webdriver/common/service.py", line 72, in start
self.process = subprocess.Popen(cmd, env=self.env,
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 854, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1702, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
PermissionError: [Errno 13] Permission denied: PosixPath('/Users/nick/Developer/Ubiquiti-AP-Automation/lib/python3.8/site-packages/chromedriver')
- 这会导致次要错误和回溯消息:
Traceback (most recent call last):
File "main.py", line 130, in <module>
main()
File "main.py", line 31, in main
driver = webdriver.Chrome(executable_path = chromedriver_path)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/selenium/webdriver/chrome/webdriver.py", line 73, in __init__
self.service.start()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/selenium/webdriver/common/service.py", line 86, in start
raise WebDriverException(
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable may have wrong permissions. Please see https://sites.google.com/a/chromium.org/chromedriver/home
- 我
chmod -R 777 .
在这个项目文件的根目录中运行Ubiquiti-AP-Automation
,并仔细检查了子文件夹中的每个文件是否具有所有者、组和其他的完整读取、写入和执行权限,以防万一。这是我ls -l
在根文件夹中运行时的输出:
total 24
drwxrwxrwx 13 nick staff 416 Nov 17 18:18 bin
drwxrwxrwx 2 nick staff 64 Nov 16 14:48 include
drwxrwxrwx 4 nick staff 128 Nov 18 13:56 lib
-rwxrwxrwx@ 1 nick staff 5515 Nov 18 15:18 main.py
-rwxrwxrwx 1 nick staff 114 Nov 16 14:48 pyvenv.cfg
- 我最好的猜测是pathlib没有正确的权限,即使它有???python 脚本是否具有与运行脚本的人不同的权限?在过去的 3 天里,我在 StackOverflow 上尝试了大多数(如果不是全部)针对此问题的最佳答案。显然我错过了一些东西,但我不确定是什么 - 任何见解都会非常感激!谢谢!
解决方案
推荐阅读
- db2 - 超过 5 个连接的最大限制。拒绝连接
- firebase - 为什么无法在 Cloud Firestore 中的不同字段上进行 orderBy,我该如何解决?
- node.js - Node js mongoose MissingSchemaError: Schema还没有为模型注册
- chart.js - 具有多个级别或类别的图表 Js 堆积条形图
- ios - Ionic 应用程序在卸载后不会删除本地数据
- mysql - i am trying to join the tables and get the data by using the join querys in mysql
- jmeter - 如何使用机器人框架执行特定的 HTTP 请求
- batch-file - 如何删除所有以 0x00 为内容的文件?
- amazon-web-services - AWS S3 存储桶终端节点指向已删除的存储桶
- python - 在 Python 中使用命名空间 :xsi :xsd 解析 xml 被跳过