Javascript Selenium Chrome WebDriver如何水平滚动

Javascript Selenium Chrome WebDriver如何水平滚动,javascript,c#,selenium-webdriver,google-chrome-devtools,webautomation,Javascript,C#,Selenium Webdriver,Google Chrome Devtools,Webautomation,Chrome web驱动程序有一个限制,即仅加载正在查看的网页内容。我有一个网站,有很长的水平表。我有一个Xpath,它可以提取延伸超过屏幕宽度的表的列标题。在chrome开发工具控制台中,如果我运行xpath$x(MyXPathGoesher),我会得到所有的头文件,包括那些不在视图中的头文件(让你滚动查看所有的头文件)。所以我知道我的xpath是正确的。但在代码中,当我使用SeleniumWebDriver访问它时,它只给出当前视图中的头名称。我在ChromeWebDriver的谷歌群组页面

Chrome web驱动程序有一个限制,即仅加载正在查看的网页内容。我有一个网站,有很长的水平表。我有一个Xpath,它可以提取延伸超过屏幕宽度的表的列标题。在chrome开发工具控制台中,如果我运行xpath$x(MyXPathGoesher),我会得到所有的头文件,包括那些不在视图中的头文件(让你滚动查看所有的头文件)。所以我知道我的xpath是正确的。但在代码中,当我使用SeleniumWebDriver访问它时,它只给出当前视图中的头名称。我在ChromeWebDriver的谷歌群组页面上看到了各种帖子,用户提到了这个限制,对此的回答是不修复它。不管怎样,现在我尝试使用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

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

更改代码:

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


简单地说,它不仅仅是
scroll to
scroll

通常当你聚焦一个元素时,它会滚动到它。(例如SendKeys()。你知道我在查找元素方面从来没有遇到过问题,尽管我无法操作那些不在view port中的元素,但你是对的。顺便说一句,IE和Firefox没有问题。Firefox会找到看不到的内容。有趣的想法。我想我可以使用javascript todo ctrl——查看隐藏的内容。这将有希望使与DOM的交互与100%时的差异更小。这将打破Internet explorer。这对Chrome和Firefox来说都是不错的
js.ExecuteScript("scroll(3000,0);");