當我在Selenium中調用Open(「[some URL]」)方法時,它會等待下載所有資源(圖像,CSS,JS)。但它是如何知道瀏覽器已完成請求資源的?Selenium的Open函數等待什麼?
這裏是我的驅動程序代碼段(在C#):
DefaultSelenium selenium = new DefaultSelenium(
"localhost", 4444, "*iexplore", "http://www.stackoverflow.com");
// open my profile page
selenium.Open("http://stackoverflow.com/users/111934/jeff-meatball-yang");
上面的URL僅僅是爲了示例。如果我在一個setTimeout()
事件處理程序觸發的setTimeout()
中包含一個AJAX調用,事件處理程序中Selenium實際上不會等待該AJAX調用...我必須手動告訴Selenium等待使用WaitForPageToLoad(timeout)
。
那麼Selenium如何檢測普通頁面(無AJAX)何時完成加載?
感謝司令戴夫。 :)你能指點我的文件或SVN地址嗎? – 2009-09-22 15:00:55
不客氣! http://code.google.com/p/selenium/source/browse/selenium-core/trunk/src/main/resources/core/scripts/selenium-browserbot.js#83 – 2009-09-22 15:16:51
您也可以使用['waitForElementPresent' ](http://release.seleniumhq.org/selenium-core/1.0.1/reference.html#storeElementPresent)調用'open'後。 – ma11hew28 2011-02-19 18:50:49