我们在网站上使用自定义滚动条(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
答案 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选择器。