当前位置: 首页 > 面试题库 >

不同的滚动选项之间有什么区别?

邢鸿博
2023-03-14
问题内容

我尝试了几种向表添加滚动的方法,但是只有其中一种可以正常工作。它们之间有什么区别?

第一:

JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].scrollIntoView();", Element);

第二:

WebElement element1 = driver.findElement(By.id("scrolled_element"));
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element1);

第三:

JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("window.scrollBy(0,1000)");

第四:

JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("window.scrollTo(0, document.body.scrollHeight)");

问题答案:

Element.scrollIntoView()

Element.scrollIntoView()方法将调用该元素的元素滚动到浏览器窗口的视口中。

句法:

  • element.scrollIntoView()
  • element.scrollIntoView(alignToTop) //布尔参数
  • element.scrollIntoView(scrollIntoViewOptions)//对象参数

您的用例:

  • executeScript("arguments[0].scrollIntoView();", Element):这行代码会将元素滚动到浏览器窗口的可见区域。
  • executeScript("arguments[0].scrollIntoView(true);", element1):此代码行将滚动元素以使其与可滚动祖先的视口顶部对齐。此选项对应于scrollIntoViewOptions: {block: "start", inline: "nearest"}。基本上,这是默认值。
  • executeScript("arguments[0].scrollIntoView(false)", element1);:这行代码将滚动要与可滚动祖先的视口底部对齐的元素。此选项对应于scrollIntoViewOptions: {block: "end", inline: "nearest"}

Window.scrollBy()

window.scrollBy()方法以给定的数量滚动当前窗口中的文档。

句法:

  • window.scrollBy(x-coord, y-coord)
  • window.scrollBy(options)

参数:

  • x-coord 是要滚动的水平像素值。
  • y-coord 是要滚动的垂直像素值。
  • options是一ScrollToOptions本字典。

您的用例:

  • executeScript("window.scrollBy(0,1000)"):这行代码将滚动窗口文档下降的0水平像素和1000您希望通过滚动垂直像素。

Window.scrollTo()

Window.scrollTo()方法滚动到文档中的一组特定坐标。

句法:

  • window.scrollTo(x-coord, y-coord)
  • window.scrollTo(options)

参数:

  • x-coord 是要在左上方显示的文档水平轴上的像素。
  • y-coord 是要在左上方显示的文档垂直轴上的像素。
  • options是一ScrollToOptions本字典。

您的用例:

  • executeScript("window.scrollTo(0, document.body.scrollHeight)"):这行代码将滚动窗口的文件下来的bottom页面。


 类似资料:
  • 问题内容: 在iOS上,证书,密钥和信任服务API包含以下填充类型: 苹果CDSA邮件列表上的用户说“ kSecPaddingPKCS1与PKCS#1 1.5相同”。证书,密钥和信任服务参考使用“将完成标准ASN.1填充以及基础RSA操作的PKCS1填充”来注释后三种填充类型。 有什么区别kSecPaddingPKCS1? 是kSecPaddingPKCS1仅仅根据RFC 3447的基本RSA运算

  • 问题内容: Hibernate有几种方法,它们以一种或另一种方式将您的对象放入数据库。它们之间有什么区别,何时使用它们?为什么不只有一种智能的方法知道何时使用什么? 到目前为止,我已经确定的方法是: 问题答案: 这是我对方法的理解。这些主要基于API,尽管我在实践中并未全部使用。 saveOrUpdate 根据某些检查调用保存或更新。例如,如果不存在标识符,则调用save。否则,将调用更新。 保存

  • 我正在寻找编译过程中使用的默认编译器标志。因此,我使用了命令

  • 问题内容: 在此示例中: 无法编译为: 而被编译器接受。 这个答案说明唯一的区别是,与不同,它允许您稍后引用类型,似乎并非如此。 是什么区别,并在这种情况下,为什么不第一编译? 问题答案: 通过使用以下签名定义方法: 并像这样调用它: 在jls§8.1.2中,我们发现(有趣的部分被我加粗了): 通用类声明定义了一组参数化类型(第4.5节), 每种可能通过类型arguments调用类型参数节的类型

  • 问题内容: 我需要测试返回可选值的表达式是否为。这似乎很容易,但是这里是代码。 由于某种原因,这令我不悦。 对我来说看起来好多了,但是我实际上不需要该物品,我只需要知道是否退货即可。因此,我使用了以下内容。 我在这里想念些微妙的东西吗?我想和这里是等价的。 更新以解决答案中的一些问题 我不明白之间的差别和,虽然我一般使用。在这种情况下,在块之后推入将获得混合的块的布尔比较与if的布尔比较。 通配符

  • 我正在学习React Route来帮助我构建一个应用程序,在成功登录后可以从登录页面重定向到主页。 我在这里阅读了官方教程:https://github.com/reactjs/react-router-tutorial/tree/master/lessons/12-navigating 在本课中,他们介绍了两种以编程方式导航的方法,即browserHistory和context.route。他们