【问题标题】:Selenium 2: Holding WebElements in cache after page has changedSelenium 2:页面更改后将 WebElements 保存在缓存中
【发布时间】:2011-05-20 10:09:24
【问题描述】:

我希望在移动到另一个页面后能够使用 WebElement 实例。我不确定这是否可能,但需要存储浏览器窗口的当前状态。任何指示或想法如何做到这一点?

更进一步:我还想在 WebDriver 实例关闭后使用该对象。

【问题讨论】:

    标签: java firefox selenium webdriver selenium-webdriver


    【解决方案1】:

    在移动到测试的下一部分或终止浏览器之前,您需要从 web 元素中获取所需的信息到其他变量中。

    我会创建一个字典,然后用你想要/需要的 webelement 属性填充它。

    如果您尝试在另一个页面上使用 web 元素,您将收到 StaleElementReferenceException 抛出

    【讨论】:

    • 这也是我的方法。希望能得到其他的想法,比如模拟当前浏览器缓存。
    【解决方案2】:

    还有可以用于 WebElements 的 @CacheLookup 注释,它是:

    标记注释将应用于 WebElements 以指示它永远不会更改(即,将始终使用 DOM 中的相同实例)

    【讨论】:

      猜你喜欢
      • 2018-12-10
      • 2022-07-28
      • 1970-01-01
      • 1970-01-01
      • 2019-02-24
      • 1970-01-01
      • 2016-03-19
      • 2017-01-20
      • 1970-01-01
      相关资源
      最近更新 更多