selenium測試(Java)-- 隱式等待(十)

來源:互聯網
上載者:User

標籤:lan   try   windows   org   style   res   version   test   base   

隱式等待相當於設定全域的等待,在定位元素時,對所有元素設定逾時時間。

隱式等待使得WebDriver在尋找一個Element或者Element數組時,每隔一段特定的時間就會輪詢一次DOM,如果Element或數組沒有馬上被發現的話。

預設設定是0。一旦設定,這個隱式等待會在WebDriver對象執行個體的整個生命週期起作用。一勞永逸。

package com.test.elementwait;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.concurrent.TimeUnit;import org.openqa.selenium.By;import org.openqa.selenium.NoSuchElementException;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;import org.openqa.selenium.support.ui.WebDriverWait;public class ImplicitWait {    public static void main(String[] args) {        WebDriver driver = new FirefoxDriver();        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);        driver.get("http://www.baidu.com");        driver.manage().window().maximize();        try {            SimpleDateFormat format = new SimpleDateFormat("HH-mm-ss-SSS");            String time = format.format(Calendar.getInstance().getTime());            System.out.println("開始的時間: " + time);            driver.findElement(By.id("kw22")).sendKeys("selenium");        } catch (NoSuchElementException e) {            System.out.println("沒有找到元素");            e.printStackTrace();        } finally {            SimpleDateFormat format2 = new SimpleDateFormat("HH-mm-ss-SSS");            String time2 = format2.format(Calendar.getInstance().getTime());            System.out.println("結束的時間: " + time2);            driver.quit();        }    }}

執行結果:

開始的時間: 23-12-26-775沒有找到元素org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"id","selector":"kw22"}Command duration or timeout: 10.46 secondsFor documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.htmlBuild info: version: ‘2.53.0‘, revision: ‘35ae25b‘, time: ‘2016-03-15 16:57:40‘ 8 Driver info: org.openqa.selenium.firefox.FirefoxDriverCapabilities [{applicationCacheEnabled=true, rotatable=false, handlesAlerts=true, databaseEnabled=true, version=45.2.0, platform=WINDOWS, nativeEvents=false, acceptSslCerts=true, webStorageEnabled=true, locationContextEnabled=true, browserName=firefox, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}]Session ID: dda0673c-da3d-4173-a904-d17148a3e26e*** Element info: {Using=id, value=kw22}    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)    at java.lang.reflect.Constructor.newInstance(Constructor.java:408)    at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)    at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:363)    at org.openqa.selenium.remote.RemoteWebDriver.findElementById(RemoteWebDriver.java:413)    at org.openqa.selenium.By$ById.findElement(By.java:218)    at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:355)    at com.test.elementwait.ImplicitWait.main(ImplicitWait.java:26)結束的時間: 23-12-37-273

 

selenium測試(Java)-- 隱式等待(十)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.