【发布时间】:2018-10-09 08:27:02
【问题描述】:
首先我想说我是 3 天前开始编程的。所以我几乎是一个初学者。除了我在这里介绍的东西之外,我不打算从事编程,我现在只需要一个简单的程序,我想自己做,纯粹是作为一种爱好。我正在用 Selenium 和 java 做这件事。因此,我需要一个代码,该代码将在 Web 浏览器中向下/向上滚动 Web 应用程序,使其尽可能真实。我目前正在使用此代码:
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript ("window.scrollBy (0.1500)", "");
没关系,但是这段代码看起来像按下向下翻页按钮而不是滚动。
然后,我想做以下事情:
js.executeScript ("window.scrollBy (0.50)", "");
js.executeScript ("window.scrollBy (0.30)", "");
js.executeScript ("window.scrollBy (0.33)", "");
js.executeScript ("window.scrollBy (0.42)", "");
js.executeScript ("window.scrollBy (0.45)", "");
js.executeScript ("window.scrollBy (0.24)", "");
js.executeScript ("window.scrollBy (0.19)", "");
js.executeScript ("window.scrollBy (0.50)", "");
所以现在这段代码向下滚动页面,就像使用滚轮用鼠标滚动一样,但是正如您所看到的,它看起来不像一个“优雅”的解决方案,我确信有更好的解决方案,但是我 3 天的经验,这是我能做的最好的。
那么,有没有人愿意帮助我更高效的代码,而不是使用数百万行来做同样的重复工作......我不知道,比如:
js.executeScript ("window.scrollBy (0,50,45,66,78,43,56,87)", "");
程序可以在一行和几个变量中执行需要完成的操作,并获取时间间隔和/或从“0,50,45,66,78,43,56,87 滚动的像素"
【问题讨论】:
-
您的确切用例是什么?为什么要滚动?
标签: java selenium selenium-webdriver