首页 > 解决方案 > 来自 selenium 的 Chrome 不会同步

问题描述

我正在尝试打开启用了同步选项的 selenium 浏览器。要么我指定--used-data-dir(将我的谷歌帐户中的所有 cookie 和扩展加载到 selenium 上),要么我不指定,它仍然不允许我同步。检查浏览器是否允许同步的一种方法是转到设置 -> 人员。如果浏览器正在同步标签/选项上的同步,则您的帐户名下必须存在。如果浏览器未同步,则此选项不存在,因此您无法更改它。

我也尝试过从这里指定的全局更改 chrome 策略DisableSync,但是 selenium 仍然不会同步(即使在chrome://policy/SyncDisabled策略设置为false)。registry edit

不会同步意味着如果我从网站添加/更改密码,新密码将不会存储在我帐户的 cookie 中,这基本上是我的目标。澄清一下,当我正常打开 chrome(不是 selenium)时,当然可以使用同步选项。

所以,我想我的问题是如何在启用同步选项的情况下通过 selenium 打开 chrome?

标签: pythongoogle-chromeseleniumsynchronization

解决方案


我终于找到了解决方案。因此,当您通过 selenium 启动 chrome 时,即使您没有指定--disable-sync参数,它也会自行指定。换句话说,在命令行列表中新生成的 selenium 浏览器中访问c​​hrome://version就有参数。所以基本上我首先像这样排除它:--disable-sync

options.add_experimental_option(
    'excludeSwitches',
    ['disable-sync']) 

然后我像这样启用它:

options.add_argument('--enable-sync')

因为如果在启用它之前没有排除它,那么 the--disable-sync和 the--enable-sync都将在命令行列表中。


推荐阅读