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

为什么Selenium WebDriver没有“向下/向上滚动”功能?

宋唯
2023-03-14

我见过的每个滚动实现都需要执行Javascript(例如scrolltopscrollto),而不是Selenium Webdriver中的可用方法来执行此操作。既然Webdriver被设计为在浏览器中执行用户可能使用的相同交互,为什么在任何地方都找不到呢?

我知道使用Webdriver与DOM中的元素交互可以避免滚动元素,但是有些库(如ReactVirtualized)被设计成只呈现可见行,这使得自动化更加困难。

共有1个答案

叶富
2023-03-14

您是直接使用Capybara(正如您的问题所标记的那样)还是使用selenium-webdriver?

如果使用Capybara,则需要scroll_to方法-https://www.rubydoc.info/gems/Capybara/Capybara/node/element#scroll_to-instance_method-这是最近添加的。

如果您直接使用selenium-webdriver,这是因为很长一段时间以来,WebDriver规范的一些编写者一直坚持滚动是不必要的。在上次WebDriver规范会议上,这种坚持改变了,但是滚动应该如何工作的细节实际上还没有被添加到规范中。

 类似资料:
  • 我在Selenium 1(又名Selenium RC)中编写了以下代码,用于使用java滚动页面: Selenium 2(WebDriver)中的等效代码是什么?

  • 问题内容: 我正在构建一个类似于聊天的应用程序,该应用程序使用滚动视图将用户输入的文本显示在屏幕上。我正在做的是随着更多文本追加到屏幕上而自动向下滚动滚动视图。我正在使用 尽管出于某些原因,这似乎可行,因为在聊天时键盘通常位于屏幕上,因此当滚动视图向下滚动时,键盘并不能完全显示- 添加的最新文本视图不会显示(您必须手动向下滚动至最新视图之一)。我该如何解决这个问题? 问题答案: 我环顾四周,发现其

  • 我正在用python编写一个蛇游戏,蛇可以向上、向左和向右移动,当我试图向下移动时(使用箭头)总是会出错。我正在处理碰撞,因为蛇会与自身碰撞(蛇头接触身体),屏幕将显示“游戏结束-你输了”。

  • 本文向大家介绍vim 向下滚动,包括了vim 向下滚动的使用技巧和注意事项,需要的朋友参考一下 示例 命令 描述 Ctrl+E 向下滚动一行。 Ctrl+D 向下滚动半屏(可使用该scroll选项配置)。 Ctrl+F 向下滚动全屏。 z+ 在窗口顶部的窗口下方绘制第一行。

  • 本文向大家介绍vim 向上滚动,包括了vim 向上滚动的使用技巧和注意事项,需要的朋友参考一下 示例 命令 描述 Ctrl+Y 向上滚动一行。 Ctrl+U 向上滚动半个屏幕(可使用该scroll选项配置)。 Ctrl+B 向上滚动全屏。 z^ 在窗口底部的窗口上方绘制第一行。

  • 问题内容: 好的,所以我找不到任何有关此的信息。 我知道更改网站的滚动速度是可怕的,但是我需要对一个比网站更具游戏性的网站进行更改。 有人可以告诉我如何降低滚动速度吗?jQuery或CSS? 编辑:我想改变人们用鼠标滚轮滚动时的scrollspeed。 问题答案: NiceScroll]插件 jQuery