2014-02-25 41 views
2

默認情況下,Webdriver總是等待頁面完全加載,然後在該頁面上找到元素並對其進行操作。PHPUnit和WebDriver(Selenium2) - 如何在頁面完全加載之前操作元素?

例如打開google.com網站,等待其完全加載,然後找到搜索按鈕,然後單擊它。

有時,頁面會連接到一些外部鏈接,如GA(統計服務),這通常會花費太多時間。並且我想單擊的按鈕在頁面完全加載之前已加載。

當頁面的其他部分仍處於加載過程中時,如何讓Webdriver在加載按鈕時單擊按鈕?

回答

0

你總是可以在那裏放一個等待命令。

sleep(5); 

這將使它的睡眠,持續5秒'

雖然,它更容易使用'waitForElementPresent();

$this->waitForElementPresent("YOURELEMENT","50000"); 

這將會使你的腳本等待50秒以上,直到元素被加載 YOURELEMENT =定位器 50000 =超時

+0

喜@Decypher,你answser不適合這個問題。我發現硒的頁面負載平衡,這是正常的,這意味着硒必須等待頁面的完全加載。 – CobraBJ

+0

當您使用waitforelementpresent時,如果元素可見,則硒將繼續,因此如果其餘部分尚未加載但您的元素將會加載。或者你想完成頁面加載? 硒的頁面加載是每當硒認爲它完成,然後它繼續,這在某些情況下是錯誤的。 – Decypher

相關問題