1

Chrome浏览器驱动程序有一个限制,只能加载在视图中的网页内容。我有一个长桌面的网站。我有Xpath提取的表格的列标题比屏幕宽度延伸更多。在chrome开发工具控制台中,如果我运行xpath $ x(myxpathgoeshere),我会得到所有标题,包括那些不在视图中的标题(使您可以滚动查看所有标题的标题)。所以我知道我的xpath是正确的。但在代码中,当我通过使用selenium webdriver访问它时,它只会提供当前视图中的标题名称。我在Chrome Webdriver谷歌组页面上发现了各种帖子,用户提到这个限制,并且回答是不修复它。所以无论如何,现在我正试图使用​​JavaScript来水平滚动,然后再次通过xpath执行findelement以查看右侧的元素是否已加载。但出于一些奇怪的原因,我似乎无法水平滚动工作。我正在使用C#Javascript执行程序。硒Chrome浏览器驱动程序如何水平滚动

IJavaScriptExecutor js = (IJavaScriptExecutor) Driver; 
js.ExecuteScript("scrollTo(3000,0);"); // whatever X value I use chrome is not scrolling to the right. 

我也试过scrollX,没有运气。我的代码有问题吗?

编辑:忘了我是用X的水平不Ÿ

+0

通常当你关注一个元素时,它会滚动到它。 (例如SendKeys())。你知道我从来没有找到元素的问题,虽然我无法操纵那些不在视图端口的元素,但你是对的。 – 2014-09-29 16:54:05

+0

顺便说一下,这不是IE和Firefox的问题。 Firefox将查找不可见的内容。 – DoodleKana 2014-09-29 16:58:16

回答

0

对于这种类型的问题,我不得不使用浏览器的放大和缩小功能,但我在Java中使用这一点。随着Java机器人班,我正在做浏览器缩小,所以我自动显示隐藏的列。你可以尝试它可以帮助你。

+0

有趣的想法。我想我可以使用javascript todo ctrl--获取隐藏的内容。这应该有希望使与DOM的交互更少与100%时的交互。 – DoodleKana 2015-01-30 17:00:16

+0

是的,你也可以这样做。 – SahilPatel 2015-02-02 06:18:24

+0

这将打破Internet Explorer。对于Chrome和Firefox将会很好 – 2016-04-01 22:31:29

0

更改代码:

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

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

简单地说,它不仅scrollToscroll