如何向右滚动到一个只有在滚动后才显示在DOM中的元素?(Java Selenium)

zd287kbt  于 2023-05-13  发布在  Java
关注(0)|答案(2)|浏览(158)

使用Java selenium....我必须滚动到页面最右侧的元素,
但问题是这个元素只在滚动之后才出现在DOM中。
使用Javascript Executor或Action类没有帮助,因为它首先搜索元素(在DOM中不可用)-->I get element not found exception
其次,我不能给予滚动的x,y坐标,因为它是一个动态表,列不断改变其位置。(如果我给出的坐标是最右边的,元素出现在中间,脚本仍然会失败)

7xzttuei

7xzttuei1#

while ( !element(yourElement).isPresent()) {
        js.executeScript("arguments[0].scrollLeft += 1000;", grid);
    }

在编写代码之前,您将网格定义为WebElement,以便在其中滚动
您也可以尝试使用像素(1000)数字来查看它滚动的程度。是的,命令arguments[0].scrollLeft是向右滚动。

ubof19bj

ubof19bj2#

如果“selenium首先尝试在DOM中搜索目标元素,否则脚本失败”-然后将JavaScript执行器保持在'IF'语句中,而不是while。如:If(元素不可见)执行JavaScript执行程序

相关问题