【发布时间】:2018-08-29 04:49:55
【问题描述】:
我在网页中有图片,其 src 在一段时间后更改了 src 更改后可能有两个可能的值(时间可能会有所不同) img_src_success 或 img_src_failed
我已经添加了下面的代码来等到 src 被更改但它不工作并给出错误。
WebDriverWait wait = new WebDriverWait(driver, 120);
wait.until(ExpectedConditions.attributeToBe(image_src, "src",img_src_success );
其中 image_src = WebElement
src = 属性
img_src_success = 字符串值“/src/image/success.png”
img_src_running= "/src/image/failed.png"" 的字符串值
以上代码报错
org.openqa.selenium.StaleElementReferenceException:过时的元素 参考:元素未附加到页面文档。
请提出我做错了什么或任何其他方式来做到这一点。
【问题讨论】:
-
每当人们遇到陈旧元素问题时,我强烈建议他们使用 WATIR,WATIR 处理陈旧元素问题非常好,WATIR 是位于 Ruby Selenium Binding 上的包装器。如果您的项目还没有走得太远,请考虑使用 WATIR。
-
你试过 xpath - contains(),starts-with(),ends-with() 方法吗???你能显示一次img标签的html吗??
-
@shruti 它是循环内的句柄?如果是这样,您需要与相关的 HTML 共享循环代码。
-
@amit ,我尝试添加 html 图像标签,但它给出了我无法发布的错误。如何在 wait.until(ExpectedConditions.attributeToB 中添加包含、以 etc 开头。你能解释一下吗?
-
@Amit 如何使用这些 xpath 来解决问题?陈旧元素意味着对元素的引用由于页面刷新或页面导航而丢失
标签: selenium testing automation