Selenium Chrome WebDriver如何水平滚动

本文关键字:水平 滚动 何水平 Chrome WebDriver Selenium | 更新日期: 2023-09-27 18:24:55

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

Selenium Chrome WebDriver如何水平滚动

对于这种类型的问题,我使用了浏览器放大和缩小功能,但我在java中使用了这一功能。使用java robot类,我正在进行浏览器缩小,以便自动显示隐藏列。你可以试着让它对你有所帮助。

更改代码:

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

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

简单地说,它不仅仅是scrollToscroll