【问题标题】:Selenium Java Reuse Browser SessionSelenium Java 重用浏览器会话
【发布时间】:2016-11-28 12:35:09
【问题描述】:

我是 Java 和 Selenium 的新手,遇到了需要重用浏览器会话的问题。

我已经四处搜索,但找不到一个好的解决方案。 有没有办法在 Selenium 中使用 Java 重用 Firefox 会话?

【问题讨论】:

    标签: selenium firefox reusability


    【解决方案1】:

    你有两个选择:

    1. 保存您的 cookie 并在每次创建驱动程序时检索它们

      driver = new FirefoxDriver();
      for(Cookie cookie : allCookies)
      {
          driver.manage().addCookie(cookie);
      }
      
    2. 在本地保存您的浏览器配置文件,然后加载它

      DesiredCapabilities capabilities = DesiredCapabilities.firefox();
      File profileDirectory = new File("c://mach//lib//prof");
      FirefoxProfile profile = new FirefoxProfile(profileDirectory);
      capabilities.setCapability(FirefoxDriver.PROFILE, profile);
      WebDriver driver = new FirefoxDriver(capabilities);
      

    【讨论】:

    • Tx 寻求帮助,但是保存 Firefox 配置文件或保存 cookie 怎么样?我无法做到这一点。
    • 您是否尝试将 cookie 保存为一组:Set<Cookie> cookies = driver.manage().getCookies();,然后检索它们? Firefox 将配置文件保存到 tmp 文件夹中,然后在关机时将其删除,但您仍然可以进入此 tmp 文件夹并将配置文件保存在之前的文件中。参考这里:stackoverflow.com/questions/30435749/…。或者,您可以这样做:stackoverflow.com/questions/13033071/…
    • 当我为 cookie 尝试上面的代码时,我得到了错误“allCookies 无法解析为变量”有什么想法吗?
    • 这个错误是因为我把'Set cookies = driver.manage().getCookies();'当我希望它保存cookie时行...我认为它应该在'driver.quit'之前插入,所以所有cookie都将在关闭浏览器之前保存。
    • 将变量名从 allCookie 更改为 cookies 或反之亦然 (-:
    猜你喜欢
    • 2018-09-20
    • 2012-02-11
    • 2012-12-04
    • 2021-03-29
    • 2015-01-17
    • 1970-01-01
    • 2017-05-26
    • 2010-11-27
    • 1970-01-01
    相关资源
    最近更新 更多