【问题标题】:How to use Chrome profile in Selenium (selenium-webdriver) JavaScript如何在 Selenium (selenium-webdriver) JavaScript 中使用 Chrome 配置文件
【发布时间】:2021-05-15 12:49:18
【问题描述】:

由于似乎没有办法使用现有的 Chrome 窗口,我如何在Selenium 打开的窗口中使用用户的 Google 帐户(以及所有设置和密码)? Selenium 似乎可以为自己打开窗口,但没有 Google 帐户,这是我的程序的重要组成部分。

我的程序对时间非常敏感,所以它需要自动登录到它访问的网站,并且该程序将被多个用户使用。

【问题讨论】:

  • 您可以通过在登录后保存 cookie 来做到这一点,然后您可以在脚本中加载它们。看到这个答案stackoverflow.com/questions/15058462/…
  • 很多关于 SO 的答案:stackoverflow.com/a/31063104/1387701
  • 还有:“将被多个用户使用”?我不确定 selenium 是您要使用的工具。
  • 如果 Selenium 可能不是正确的工具,那么您有什么建议?我需要的功能是打开链接并单击页面上的元素,例如按钮。顺便说一句,我使用的是 node.js。

标签: javascript selenium selenium-webdriver


【解决方案1】:
var webdriver = require("selenium-webdriver");
var chrome = require("selenium-webdriver/chrome");
var options = new chrome.Options();
    
options.addArguments("user-data-dir=C:\\Users\robert.car\\AppData\\Local\\Google\\Chrome\\User Data")
    
options.addArguments("profile-directory=Profile 1")

var driver = let driver = new webdriver.Builder()
.forBrowser('chrome')
.setChromeOptions(options)
.build();

user-data-dir 将 profile 视为默认值,您不必指定它。如果是其他东西,则通过 profile-directory 参数指定它

创建个人资料的步骤:

打开:地址栏中的 chrome://version

复制用户目录文件夹完全到例如c:\tmp\newdir

打开复制的用户数据 (newdir) 并搜索名为 Default 的文件夹。这是个人资料文件夹。

重命名默认文件夹为“Profile 1”

现在使用这个:

options.addArguments("user-data-dir=c:\\tmp\\newdir")

options.addArguments("profile-directory=Profile 1")

【讨论】:

    猜你喜欢
    • 2019-02-22
    • 2020-06-14
    • 1970-01-01
    • 2013-01-06
    • 2018-09-02
    • 2015-09-12
    • 1970-01-01
    • 2023-03-20
    相关资源
    最近更新 更多