2

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

4

2 回答 2

0

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

于 2015-01-29T11:35:59.580 回答
0

更改代码:

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

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

简单地说,它不是scrollTo而且scroll唯一。

于 2015-08-04T08:24:33.503 回答