我正在尝试捕获/自动执行Selenium IDE中的鼠标滚动事件。像在Facebook朋友列表页面中一样,我们必须滚动到末尾以列出所有朋友。
我想使用Selenium IDE自动化该功能。
我做了什么 :
使用我当前的脚本,我可以登录Facebook。
然后点击标题中的我的名字,我可以进入我的个人资料页面。
在我的个人资料页面上,我存储的是朋友数量的值,然后单击“朋友”链接,可以转到朋友列表页面。
在使用断言功能的朋友列表页面上,我将存储在上一页的朋友的值与在朋友列表页面上显示的数字进行比较。
我不能做的事
- 我想使用命令滚动并比较已经列出了多少个朋友,还有多少,
如果(保持<1),那么我将不会进一步滚动
否则,我将滚动一段时间,然后再次比较剩余量。
硒RC:
selenium.getEval("window.scrollBy(x,y)");
Selenium IDE:
storeEval | selenium.browserbot.getCurrentWindow().scrollTo(x,y)
更新:
<tr>
<td>storeEval</td>
<td>selenium.browserbot.getCurrentWindow().scrollTo(100,800)</td>
<td></td>
</tr>
<tr>
<td>waitForPageToLoad</td>
<td></td>
<td>10000</td>
</tr>
<tr>
<td>storeEval</td>
<td>selenium.browserbot.getCurrentWindow().scrollTo(200,1600)</td>
<td></td>
</tr>
<tr>
<td>waitForPageToLoad</td>
<td></td>
<td>10000</td>
</tr>
<tr>
<td>storeEval</td>
<td>selenium.browserbot.getCurrentWindow().scrollTo(300,2400)</td>
<td></td>
</tr>
这会将窗口滚动到3个不同的坐标。
我的问题是: 我的解决方案是使用mousewheel/scroll事件处理程序来知道用户是否在移动,然后计算我是否在页面底部并隐藏或显示元素。。。 一切正常,但我有点担心 由于主线程正忙,“mousewheel”输入事件的处理延迟了123毫秒。将事件处理程序标记为“被动”以使页面更加响应。 这(我猜)是因为这个代码 跑太多次了。 那么,我怎样才能使这段代码更有效率呢 是否有办法在滚动后运行事件?
问题内容: 在鼠标滚轮上滚动它执行水平滚动。 已编辑 好吧,firebug说他在用 问题答案: 看来他只是将mousewheel事件映射到滚动区域。在IE中,仅通过使用方法就非常容易-滚动水平条的量为垂直条通常滚动的量。其他浏览器不支持该方法,因此您必须随心所欲地滚动任意数量:
我正在研究GWT应用程序(类似于油漆)。在这里,我有一个HTML5画布,其中有一个功能,上下滚动鼠标滚轮将放大和缩小画布。 我搜索了很多,但没有找到解决此问题的方法。以下是我们所做的: 现在,上面的代码适用于另一个Angular应用程序,我在其中上下滚动div元素(有一个滚动条),但它不适用于GWT应用程序中的画布(没有滚动条)。 我使用Selenium 3.14.0,并在Chrome浏览器上运行
我有一个JScrollPane,它的内容窗格是一个JXList。当我在列表上使用鼠标滚轮时,列表一次执行三(3)项。这也适用于表,无论行高如何。我如何改变这一点,使-无论平台-列表和表的滚动距离正好是1项?设置块增量不会削减它,因为表中的某些行具有不同的高度。
如何在鼠标进入时停止滑动自动播放和在鼠标离开时开始自动播放?我尝试了.stopAutoPlay()和.startautoPlay()函数,但对我不起作用。 谢谢。这是代码。
问题内容: 我有一个JScrollPane,其内容窗格是JXList。当我在列表上使用鼠标滚轮时,该列表一次执行三(3)个项目。无论行高如何,这也适用于表格。我如何更改此设置,以便无论平台如何,列表和表格的滚动距离都仅为1?设置块增量不会削减它,因为表中的某些行具有不同的高度。 问题答案: 出于纯粹的兴趣(有点无聊),我创建了一个工作示例: 真正的魔力是在custom中完成的,我们每次都将当前的“