【问题标题】:Can I run Selenium ChromeDriver with cookies from actual Chrome installation?我可以使用实际 Chrome 安装中的 cookie 运行 Selenium ChromeDriver 吗?
【发布时间】:2015-12-09 12:57:45
【问题描述】:

所以我在 Ubuntu 机器上使用 IntelliJ IDEA + chromedriver 运行 selenium 测试...

在我的 Google Chrome 安装中,我已经登录了一个帐户,例如 Google。当我在 selenium 测试中访问 http://accounts.google.com 时,我进入了登录页面,而不是实际的帐户管理页面。

我很确定我并不完全了解 Selenium 和 chrome 驱动程序的确切运行方式,但我确实记得“在默认位置安装 Google Chrome”是运行 Selenium 的要求之一用 chrome 驱动测试一下。

我可以在我安装的浏览器的上下文中运行,即可以访问我的浏览器历史记录和 cookie 吗?

【问题讨论】:

    标签: google-chrome selenium cookies intellij-idea


    【解决方案1】:

    每次 Selenium 打开浏览器 (Chrome/Firefox/IE) 时,它都会打开该浏览器的规范形式。作为测试人员,您可以使用 DesiredCapabilities 对象设置浏览器首选项,对于 chrome,您还可以使用 ChromeOptions 对象来传递 chrome 命令行参数。

    选择您的个人资料

    ChromeOptions options = new ChromeOptions();
    options.addArguments("user-data-dir=/path/to/your/custom/profile");
    

    有关 chrome 驱动程序功能的更多信息: https://sites.google.com/a/chromium.org/chromedriver/capabilities

    有关 chrome 的 user-data-dir 命令行选项的更多信息:
    https://www.chromium.org/user-experience/user-data-directory

    【讨论】:

    • 感谢教区的帮助!这回答了我的问题。
    • 很高兴能帮助到@satisfakshin。我不确定你为什么需要你的个人资料才能工作。这将影响在其他用户机器上运行的测试用例。
    • 其实只是为某事做一个概念证明
    【解决方案2】:

    试试这个:

    from selenium import webdriver
    
    options = webdriver.ChromeOptions() 
    options.add_argument("user-data-dir=C:\\Path") #Path to your chrome profile
    w = webdriver.Chrome(executable_path="C:\\Users\\chromedriver.exe", chrome_options=options)
    

    要查找您的 chrome 配置文件数据的路径,您需要在地址栏中输入 chrome://version/ 。例如。我的显示为 C:\Users\pc\AppData\Local\Google\Chrome\User Data\Default,要在脚本中使用它我必须排除 \Default\ 所以我们最终只得到 C:\Users\pc\ AppData\Local\Google\Chrome\用户数据。

    来源:How to load default profile in chrome using Python Selenium Webdriver?

    【讨论】:

      猜你喜欢
      • 2013-02-27
      • 2016-01-14
      • 2019-04-19
      • 2011-07-29
      • 2017-08-14
      • 1970-01-01
      • 1970-01-01
      • 2019-04-18
      • 1970-01-01
      相关资源
      最近更新 更多