【问题标题】:retain element values selenium chrome python保留元素值 selenium chrome python
【发布时间】:2017-08-22 17:58:43
【问题描述】:

我正在使用 selenium-chrome webdriver 登录网站。 在 Page -1 中,我正在为多个字段(包括文本字段/下拉列表等)选择值,然后单击第 1 页上的提交。这将打开第 2 页,然后单击“生成按钮”-它会下载一个 Excel 文件。 现在我需要返回第 1 页并仅更改第 1 页中下拉字段的一个值并生成另一个文件(相同的过程)。 但我面临的问题是,从 Page2 回来后,已经在 Page1 中设置的值被刷新/丢失。 在此过程中,我如何确保早期的值不会丢失。

提前致谢。 问候,

【问题讨论】:

  • 为什么要保留这些值?有什么具体原因吗?为什么不再次填写这些值?
  • 我最初设置的那个页面中有 10-15 个值。对于第二个文件,我只需要更新一个字段。所以我想我为什么要再次进行相同的值设置过程。

标签: selenium elements retain


【解决方案1】:

当您登录网站时,选择多个字段的值并单击第 1 页上的提交按钮,打开第 2 页;此处页面更改。所以DOM tree 也被改变了。 Selenium 现在专注于新的HTML DOM。新的DOM 中的WebElements 现在附上。所以基本上上一页的WebElements 不再附加到当前的DOM

现在,当您返回第 1 页并尝试查找/搜索之前已设置的相同值时,您将面临 StaleElementReferenceException。您所要做的就是再次填写字段(文本字段/下拉列表等)。

这里是StaleElementReferenceException的官方文档

【讨论】:

  • 嗨 Debanjan,您对使用 sessionStorage 有什么想法 - gist.github.com/roydekleijn/3976589
  • @Kapil 谢谢,我使用 Selenium-JavaSelenium-Python 绑定,现在仍在尝试使用 Selenium-JavaScript 绑定,但您的示波器工作看起来非常令人兴奋和小众。我对探索新技术持开放态度。如果我也可以为您的工作做出贡献,请告诉我。
  • 不,我不在做这个。我也在学习。我刚刚用谷歌搜索并找到了所提问题的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-09-30
  • 2020-05-15
  • 2014-02-15
  • 2018-05-06
  • 2018-10-12
  • 2021-04-12
  • 2023-01-24
相关资源
最近更新 更多