当前位置: 首页 > 知识库问答 >
问题:

如何使用Java用moveTo()覆盖selenium中的每个元素的findeEments()实现?

董凡
2023-03-14

我想知道,如果有人在'selenium FindElements()方法和MoveTo()函数‘的自定义实现上工作过?

类似于:

@Override
        public List<WebElement> findElements(By arg0) {
            List<WebElement> moveAndFind = null;
            try{
                WebElement firstIndex = Driver.findElement();//Move to first matching element of By argument.
                moveAndFind.add(firstIndex); // Collect all the matching elements in the web page by capturing the updated location - specific to Chrome driver
            }catch(WebDriverException ex){
                ex.printStackTrace();
            }
            return moveAndFind;
        }

共有1个答案

欧阳狐若
2023-03-14

为了具体回答您的问题,您不能覆盖findeEment的实现(或者,由于我不太熟悉Java实现,所以我不知道一些东西)。

现在,要解决您的问题,您有几个选择:

  1. 由于您已经创建了列表,所以始终可以从列表的末尾移动。这样,元素的顺序始终与初始索引相同。
  2. 使用lambda表达式以除索引以外的任何其他方式标识列表中的元素。
  3. 在元素的每次移动后刷新并重建列表。根据需要移动多少元素,这可能证明是性能更差的选项。

 类似资料:
  • 我有一个名为计算的方法,它需要太长时间才能完成。所以我决定将我的信息列表对象部分发送到这个方法。我如何遍历每n个元素?

  • 问题内容: 使用的文档/例子的覆盖材料UI造型与风格的成分,我已经成功地风格内的根源,“更深层次的元素” 和。 但是,当我使用相同的技术返回传递给的函数的覆盖时,DOM中的移动以及整个移动将不再正确呈现。 所应用的技术(在容器上按预期工作): 和朋友的典型DOM(缩写为类名): 当我将上述技术应用于时的DOM : 为了完整起见,这是我正在做的事情的最小复制,它会触发DOM切换: 我的JSX是标准设

  • 在我的测试中,我必须单击一个按钮将一个项目添加到购物车中。此时会出现一个模型对话框,允许一些选项和链接,我正在尝试单击其中一个;查看购物车和结帐。 我试图用find_element_by查找元素的每一次尝试都失败了。不管我如何尝试找到它;ID,类,链接文本等。 我尝试过在try/catch语句中设置WebDriver等待,看看暂停将模型添加到页面是否会有所帮助,但没有。我也检查过是否有另一个窗口或

  • 我将取消使用的网页。此applet生成一个选择标记,我想单击其中的一个选项。 在运行时确实找到了该元素:

  • 如何使用8流对列表中的每个元素Java求和? 例如,我在一个列表中有3个不同的列表,我试图对每个列表中的每个元素求和,然后创建另一个列表。我不熟悉Java 8,尝试使用流API解决一些问题: 我正在努力实现的输出:

  • 问题内容: 我有以下HTML: 我下面的单击“ Google搜索”按钮的代码在WebDriver中使用Java时效果很好。 我想将JavaScript与WebDriver一起使用以单击按钮。我该怎么做? 问题答案: 通过JavaScript执行点击具有一些您应该注意的行为。例如,如果绑定到元素事件的代码调用,则可能会发现Selenium代码挂起,具体取决于浏览器驱动程序的实现。也就是说,您可以使用