Selenium Chrome WebDriver如何水平滚动

时间:2014-09-29 16:50:29

标签: javascript c# selenium-webdriver google-chrome-devtools webautomation

Chrome网络驱动程序有一个限制,只能加载视图中的网页内容。我有一个长水平表的网站。我有Xpath提取表格的列标题,该表格超出屏幕宽度。在chrome dev工具控制台中,如果我运行xpath $ x(myxpathgoeshere),我将获得所有标题,包括那些不在视图中的标题(使您滚动查看所有标题的标题)。所以我知道我的xpath是正确的。但是在代码中,当我使用selenium webdriver访问它时,它只提供当前视图中的标题名称。我在chrome webdriver google组页面上发现了各种帖子,提及此限制的用户和答案是不解决它。所以无论如何,现在我试图让它工作使用javascript水平滚动然后再次通过xpath执行findelement以查看右侧的元素是否已加载。但由于一些奇怪的原因,我似乎无法横向滚动工作。我正在使用C#Javascript执行器。

IJavaScriptExecutor js = (IJavaScriptExecutor) Driver;
js.ExecuteScript("scrollTo(3000,0);"); // whatever X value I use chrome is not scrolling to the right. 

我也尝试过scrollX而且没有运气。我的代码有问题吗?

编辑:忘了我用水平而不是Y

2 个答案:

答案 0 :(得分:0)

对于这种类型的问题我使用浏览器放大和缩小功能,但我在java中使用它。使用java机器人类我正在做浏览器缩小,所以我自动显示隐藏列。你可以尝试它可以帮助你。

答案 1 :(得分:0)

更改代码:

js.ExecuteScript("scrollTo(3000,0);");

js.ExecuteScript("scroll(3000,0);");

简单来说,它不仅仅是scrollToscroll