繁体   English   中英

Selenium Chrome WebDriver 如何水平滚动

[英]Selenium Chrome WebDriver how to scroll horizontally

Chrome 网络驱动程序有一个限制,即只能加载可见的网页内容。 我有一个网站,有很长的水平表。 我有 Xpath 可以提取超出屏幕宽度的表格的列标题。 在 chrome 开发工具控制台中,如果我运行 xpath $x(myxpathgoeshere) 我会得到所有标题,包括不在视图中的标题(让你滚动查看所有内容的标题)。 所以我知道我的 xpath 是正确的。 但是在代码中,当我使用 selenium webdriver 访问它时,它只提供当前视图中的标头名称。 我在 chrome webdriver google group page 上看到了各种帖子,用户提到了这个限制,答案是不修复它。 所以无论如何,现在我正在尝试使用 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 但没有运气。 我的代码有问题吗?

编辑:忘记我使用 X 表示水平而不是 Y

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

更改代码:

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

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

简单地说,它不是scrollTo并且仅scroll

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM