Chrome web驱动程序有一个限制,只能加载视图中的网页内容。我有一个网站,有很长的横桌。我有一个Xpath,可以提取超出屏幕宽度的表格的列标题。在chrome dev工具控制台中,如果我运行xpath $x(myxpathgoeshere),我会得到所有的头文件,包括那些不在视图中的头文件(可以让你滚动查看所有的文件)。所以我知道我的xpath是正确的。但是在代码中,当我使用selenium webdriver访问它时,它只给出当前视图中的头名称。我在chrome webdriver google组页面上看到了各种各样的帖子,用户提到了这个限制,对此的回答是不去修复它。所以不管怎样,现在我试着用javascript来水平滚动,然后再用xpath来做findelement,看看右边的元素是否加载了。但由于某种奇怪的原因,我似乎无法让水平滚动工作。我正在使用C# Javascript executor。
IJavaScriptExecutor js = (IJavaScriptExecutor) Driver;
js.ExecuteScript("scrollTo(3000,0);"); // whatever X value I use chrome is not scrolling to the right. 我也尝试过scrollX,但没有成功。我的代码有什么问题吗?
编辑:忘记我用X表示水平,而不是Y
发布于 2015-01-29 19:36:00
对于这种类型的问题,我使用了浏览器的放大和缩小功能,但我在java中使用了这一功能。使用java robot类,我正在进行浏览器缩小,所以我会自动显示隐藏列。你可以试一试,它可能会对你有帮助。
发布于 2015-08-04 16:24:34
更改代码:
js.ExecuteScript("scrollTo(3000,0);");至
js.ExecuteScript("scroll(3000,0);");简单地说,它不仅仅是scrollTo和scroll。
https://stackoverflow.com/questions/26104952
复制相似问题