【问题标题】:Selenium - do WebElement objects store their data or retrieve it "live"?Selenium - WebElement 对象是否存储它们的数据或“实时”检索它?
【发布时间】:2012-10-17 14:57:05
【问题描述】:
如果我实例化一个 WebElement 对象,getAttribute 调用(以及其他提取元素信息的调用)是否会成功返回正确的数据,即使该数据在对象创建后发生更改?
我已经为元素表创建了一个对象映射,因此我担心如果我对存储在此映射中的任何元素进行更改,我将需要重新设置对象为了更新地图的变化。这让我想知道 Selenium 的 WebElement 在底层是如何工作的:它们是在创建它们时读取所有属性数据和其他信息,然后再将静态数据吐出,还是它们只是包含对“真实”UI 元素的引用和每次都动态检索数据?
【问题讨论】:
标签:
java
selenium
webdriver
【解决方案1】:
我相信当你触发get Attribute时它会读取数据。
获取元素的给定属性的值。将返回当前值,即使在页面加载后已对其进行了修改。
【解决方案2】:
如果刷新页面后元素的 id 没有改变,Selenium 将检索日期 'live' 否则,它会抛出 NoSuchElementException。