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