gpt4 book ai didi

Java Selenium 陈旧元素

转载 作者:太空宇宙 更新时间:2023-11-04 11:30:08 25 4
gpt4 key购买 nike

我有以下元素:

<div _ngcontent-yvb-1="" ng-reflect-class-name="d3-data-table-cell code" class="d3-data-table-cell code" ng-reflect-id="entity_data_manager_table_cell_code" id="entity_data_manager_table_cell_code">
UP
</div>

我使用 Java 在 Selenium 中进行了测试,其中使用 id="entity_data_manager_table_cell_code" 标识了元素。过去,测试的通过率是五分之一,但有时会失败,并显示消息 stale element。现在测试总是失败并显示消息:过时的元素引用:元素未附加到页面文档

为什么会这样呢?开发商表示他没有改变任何东西。解决方案是什么?

最佳答案

原因可能是您的元素在您访问它之前尚未完全加载。尝试对该特定元素使用显式等待。另请咨询您的开发人员,为该元素提供唯一的引用,以防它动态变化。

如果页面上发生的 DOM 操作暂时导致元素无法访问,就会发生过时元素引用。为了允许这些情况,您可以在最终抛出异常之前尝试在循环中多次访问该元素。

并尝试通过类名定位元素,

driver.findElement(By.className("date-header"));

关于Java Selenium 陈旧元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43896167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com