python - 来自 selenium 的 Chrome 不会同步
问题描述
我正在尝试打开启用了同步选项的 selenium 浏览器。要么我指定--used-data-dir
(将我的谷歌帐户中的所有 cookie 和扩展加载到 selenium 上),要么我不指定,它仍然不允许我同步。检查浏览器是否允许同步的一种方法是转到设置 -> 人员。如果浏览器正在同步标签/选项上的同步,则您的帐户名下必须存在。如果浏览器未同步,则此选项不存在,因此您无法更改它。
我也尝试过从这里指定的全局更改 chrome 策略DisableSync,但是 selenium 仍然不会同步(即使在chrome://policy/ 中SyncDisabled策略设置为false)。registry edit
不会同步意味着如果我从网站添加/更改密码,新密码将不会存储在我帐户的 cookie 中,这基本上是我的目标。澄清一下,当我正常打开 chrome(不是 selenium)时,当然可以使用同步选项。
所以,我想我的问题是如何在启用同步选项的情况下通过 selenium 打开 chrome?
解决方案
我终于找到了解决方案。因此,当您通过 selenium 启动 chrome 时,即使您没有指定--disable-sync参数,它也会自行指定。换句话说,在命令行列表中新生成的 selenium 浏览器中访问chrome://version就有参数。所以基本上我首先像这样排除它:--disable-sync
options.add_experimental_option(
'excludeSwitches',
['disable-sync'])
然后我像这样启用它:
options.add_argument('--enable-sync')
因为如果在启用它之前没有排除它,那么 the--disable-sync
和 the--enable-sync
都将在命令行列表中。
推荐阅读
- snowflake-cloud-data-platform - 雪花数据模型
- python-3.x - 无法使用 pytest 读取配置文件
- c++ - 如何在向量中存储不同的类?
- windows - 尝试运行 SENDKEYS 命令并得到:'"{TAB}"' 未被识别为内部或外部命令、程序或批处理文件
- jquery - jQuery ui resizable 传递resize事件的变量来停止事件
- javascript - 客户端的 Golang HTML 操作
- javascript - Azure 认知服务,在未检测到人脸时需要帮助处理错误
- google-cloud-platform - GKE SSL 代理 NEG 运行状况检查不适用于基于 TCP 的服务
- process - 子进程可以在 fork() 调用后运行不同的程序吗?
- flutter - 优雅地防止 Flutter 应用在不合适的设备上运行