Selenium 2:页面更改后将 WebElements 保留在缓存中

发布于 2024-11-08 15:16:52 字数 121 浏览 0 评论 0原文

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

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

I want to be able to use WebElement instances after i moved to another page. I am not sure if that's possible, but there would be the need to store the current state of the browser window. Any pointers or ideas how to do this?

To go even one step further: I'd also like to use the object after the WebDriver instance was closed.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

树深时见影 2024-11-15 15:16:52

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

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

如果您尝试在另一个页面上使用 webelement,您将抛出 StaleElementReferenceException

You will need to get the info that you need from the webelement into other variables before moving to the next part of your test or killing the browser.

I would create a dictionary and then populate it with the webelement properties you want/need.

If you try use the webelement on another page you will get a StaleElementReferenceException thrown

纵山崖 2024-11-15 15:16:52

您还可以将 @CacheLookup 注释用于 WebElements,它是:

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

There is also the @CacheLookup annotation you may use for WebElements, which is a:

Marker annotation to be applied to WebElements to indicate that it never changes (that is, that the same instance in the DOM will always be used)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文