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
答案 0 :(得分:0)
对于这种类型的问题我使用浏览器放大和缩小功能,但我在java中使用它。使用java机器人类我正在做浏览器缩小,所以我自动显示隐藏列。你可以尝试它可以帮助你。
答案 1 :(得分:0)
更改代码:
js.ExecuteScript("scrollTo(3000,0);");
到
js.ExecuteScript("scroll(3000,0);");
简单来说,它不仅仅是scrollTo
和scroll
。