Google Chrome 无法读取和写入其数据目录:selenium

问题描述 投票:0回答:4

这就是我现在面临的问题。

我可以启动 chrome 驱动程序。然而我的硒代码突然不起作用并弹出在图像上方。

希望有人能够阐明,因为我在网上找不到解决方案。 .

python selenium selenium-chromedriver
4个回答
12
投票

一般来说,BarthRid 的答案是正确的,提供了适用于 Chrome 90+ 的 userdata 文件夹的完整路径。但是,如果您将 userdata 文件夹存储在与脚本相同的目录中,则可以使用

pathlib
更轻松地管理内容。

import pathlib

script_directory = pathlib.Path().absolute()

options.add_argument(f"user-data-dir={script_directory}\\userdata")

或者使用

path
包中的
os

from os import path

script_directory = path.dirname(__file__)

options.add_argument(f"user-data-dir={script_directory}{path.sep}userdata")

这种方式允许您将实际脚本的目录存储在变量中,并通过格式化字符串将其放入 selenium 的选项参数中。在处理多个实例时很有用。


5
投票

我遇到了与你和@scott degen类似的问题。 粘贴屏幕截图的 options.add_argument 行

我将我的更改为:

options.add_argument("user-data-dir=selenium")

到完整目录,现在似乎工作得更好了。

options.add_argument("user-data-dir=C:\environments\selenium")

4
投票

我将我的更改为:

options.add_argument("user-data-dir=selenium")

到完整目录,现在似乎工作得更好了。

dir_path = os.getcwd()
chrome_option.add_argument(f'user-data-dir={dir_path}/selenium')

0
投票

Chrome 似乎在启动期间更改了其当前工作目录,因此相对路径将不起作用。您可以尝试将 user-data-dir 转换为绝对路径,然后传递给 chrome。请参阅错误:1058347

© www.soinside.com 2019 - 2024. All rights reserved.