|
发表于 2024-9-4 14:38:40
|
显示全部楼层
本帖最后由 coult3 于 2024-9-4 21:32 编辑
按照下面的方法可以实现Python+selenium调用cent,每次启动脚本后都可以禁止自动更新。
首先在一个你喜欢的位置创建一个 User Data 文件夹,比如 D:\cent disable aotoupdate\backup\User Data
User Data 目录下新建 Local State 文件 和 Default 目录;Default 目录下新建 Preferences 文件。
Local State 文件:
- {
- "cent":{
- "enable_auto_update":false,
- "show_tip_after_auto_updated":false
- }
- }
复制代码 "enable_auto_update":false, 是chrome://settings/cbOtherOptions里 自动更新cent browser,关闭
"show_tip_after_auto_updated":false 是chrome://settings/cbOtherOptions里 自动更新后提示我,关闭
===
Preferences 文件:
- {
- "browser":{
- "check_default_browser":false
- },
- "cent":{
- "confirm_before_closing_multiple_tabs":false,
- "open_recommended_on_startup":false
- }
- }
复制代码
"confirm_before_closing_multiple_tabs":false, 是百分设置里,标签设置,关闭多个标签页时警告我,这个禁用是如果脚本里写了 driver.quit() 可以顺利关闭浏览器,避免弹窗。
"open_recommended_on_startup":false 是是百分设置里,启动时,打开默认启动页,不勾选。
====
然后在 driver.get("https://www.baidu.com") 的上方添加如下代码:
- import shutil
- import os
- # 先在 options.add_argument 里用 --user-data-dir 添加一个指定的 User Data 文件夹。
- # 然后每次启动前先删除以前的 User Data 文件夹,然后把自定义设置的 User Data 配置文件夹复制到指定位置。
- # 这样可以保证每次都会启动一个纯净的初始的配置(相当于新安装的)
- # 定义文件夹路径
- source_folder = r'D:\cent disable aotoupdate\backup\User Data'
- target_folder = r'D:\cent disable aotoupdate\User Data'
- # 删除目标文件夹
- if os.path.exists(target_folder):
- shutil.rmtree(target_folder)
- print(f"已删除文件夹: {target_folder}")
- else:
- print(f"文件夹不存在: {target_folder}")
- # 复制源文件夹到目标位置
- shutil.copytree(source_folder, target_folder)
- print(f"已复制文件夹: {source_folder} 到 {target_folder}")
复制代码
最后在脚本里添加options.add_argument,使用--user-data-dir 指定配置文件夹。
- options.add_argument(r"--user-data-dir=D:\cent disable aotoupdate\User Data")
复制代码
这样应该可以了。启动脚本后,可以按需配置启动百分浏览器。
如果需要其他自定义配置,可以在虚拟机里自行测试,先启动一个cent,然后关闭或打开某项设置,然后关闭浏览器,然后在 Local State 和 Preferences 里找相关的关键字。推荐使用下面的json格式化网站:https://jsonformatter.curiousconcept.com/
联动参考:
建议增加启动命令行 禁用自动更新后提示我
(出处: 百分浏览器论坛)
|
|