2015-05-05 91 views

回答

2

Thread.sleep(5000)每次操作後肯定不是好主意。如果你有很多測試,那麼完成所有的測試需要很長時間(比如幾個小時)。

對於這些情況,WebDriver中存在waiting機制,它基本上同步代碼和瀏覽器行爲中的操作,因此您不會獲得ElementNotFoundException,因爲所有操作都將被同步。

你可以看到很多的例子硒文檔http://docs.seleniumhq.org/docs/04_webdriver_advanced.jsp

3

您可以使用隱式等待。你初始化你的webdriver後添加此行: (在C#示例)

driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10)); 

隱含的等待是要告訴的webdriver試圖找到一種或多種元素時,輪詢DOM一定 的時間如果他們是 不立即可用。默認設置爲0.一旦設置, 隱式等待設置爲WebDriver對象實例的生命週期。

引用自:https://stackoverflow.com/a/6993597/4741659

相關問題