2013-08-26 25 views
0

我在Firefox上使用Selenium自動執行測試,並且一切正常,直到我需要檢查由於頁腳固定到底部而不可見的複選框頁。Selenium無法點擊固定頁腳下的複選框

這是一個很長的免責聲明,需要檢查才能繼續。

前兩個在這個頁腳下方,其餘的強制向下滾動,並且被正確地檢查。

我的問題是:

1)有沒有一種方法來檢查前兩個甚至認爲他們是頁腳下面? 2)有沒有辦法使Selenium使用命令向下滾動? 3)有沒有辦法讓Selenium打開一個新的Firefox窗口最大化? (我相信如果這是可能的話,所有複選框將在加載時可見)

謝謝! PS:這是我的第二篇文章,如果我錯過了一些信息,請讓我知道,我會編輯它。

編輯:

火狐版本:23.0.1 webdriver的版本:2.35

不幸的是,我只配置了我的webdriver爲Firefox(無法在Chrome的時刻)

+0

你使用什麼代碼?什麼版本的Selenium?什麼版本的Firefox?你跑什麼網站?這是否可以在具有類似設計的網站上的其他位置重現? Chrome中有不同的結果嗎? IE瀏覽器? – Arran

回答

1

你不必,只要滾動頁面,你用正確的選擇尋找元素(例如XPath中,CSS等),所以像driver.findElement(By.xpath("xpath"));應該刪除需要滾動頁面。至於在全屏幕使用打開的頁面下面

driver.manage().window().maximize();

+0

謝謝!這不知怎的解決了它!沒有做任何事情之前,最大化瀏覽器,使元素是可見的! –

0

您可以使用JavaScript執行者滾動頁面。我發現Selenium會點擊「可見」但隱藏在頁面背後的其他對象。

JavascriptExecutor jsx = (JavascriptExecutor)driver; 
jsx.executeScript("window.scrollBy(0,450)", ""); 
1

如果需要滾動到與要素互動的網頁,首先你必須把這個元素進入視野。使用Ruby,可以通過以下方式實現:

element.location_once_scrolled_into_view 

然後與元素進行交互。

0

我用的能力:

capabilities.setCapability("elementScrollBehavior", 1); // 0- from Top, 
                 // 1 - from bottom 

當我啓動驅動程序,我設置的能力。