无法使用Selenium

时间:2015-09-24 10:10:01

标签: javascript jquery css selenium

我们在网站上使用自定义滚动条(mcustomscrollbar),但我无法使用selenium滚动自定义滚动条。试过:

injecting javascript ( Eg: ((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView(false);", el) ).

但没有用,它没有用。

最后我找到了一个使用注入jquery的解决方案:

jQuery('.mCustomScrollbar').mCustomScrollbar('scrollTo',$('#xyz'))

现在我需要使用特定的webelement而不是id属性进行滚动。有没有办法使用任何一种技术?

参考: 检查此图片: https://drive.google.com/file/d/0B1y-4W_7TTOXU1lBdEt6WkNrZFE/view?usp=sharing

SignUp for more information here

2 个答案:

答案 0 :(得分:0)

你可以尝试这个:

您添加了css

 style="display: table-cell; height: 100vh; vertical-align: middle; max-width: 100vw;overflow: scroll;position: fixed;margin-left: -306px;"

答案 1 :(得分:0)

不确定你是否只想通过Javascript来解决这个问题,但我会执行以下操作来滚动我的mcustomscrollbar:

((JavascriptExecutor)getDriver()).executeScript("arguments[0].scrollIntoView();", driver.findElement(By.cssSelector("div.class")));

..其中'司机'是Webdriver实例。 div.class可以是任何CSS元素。

我到了这个页面,试图看看是否有人有问题mcustomscrollbar有时滚动回到页面顶部,而不是坚持下去。对我来说,我必须向下滚动页面底部的每个表单输入,这在大多数情况下都有效。你看到像Suresh那样的东西吗?

编辑:还找到了this page,它为我提供了这个为我工作的滚动命令。

    ((JavascriptExecutor)getDriver()).executeScript("$('.mCustomScrollbar#content').mCustomScrollbar('scrollTo',document.querySelector(\"div.class button.class\"))");

您可以在querySelector中使用任何CSS选择器。