一般来说,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 的选项参数中。在处理多个实例时很有用。
我遇到了与你和@scott degen类似的问题。 粘贴屏幕截图的 options.add_argument 行
我将我的更改为:
options.add_argument("user-data-dir=selenium")
到完整目录,现在似乎工作得更好了。
options.add_argument("user-data-dir=C:\environments\selenium")
我将我的更改为:
options.add_argument("user-data-dir=selenium")
到完整目录,现在似乎工作得更好了。
dir_path = os.getcwd()
chrome_option.add_argument(f'user-data-dir={dir_path}/selenium')
Chrome 似乎在启动期间更改了其当前工作目录,因此相对路径将不起作用。您可以尝试将 user-data-dir 转换为绝对路径,然后传递给 chrome。请参阅错误:1058347