selenium 等待特定元素出現

剛開始用selenium,老是出現某個元素未找到的情況,我就採用比較笨的方法Thread.sleep(1000);這種方法確實能解決問題,但是看不夠靈活,而且寫完代碼後發現整個業務層有很多的ThreaThread.sleep(1000),代碼比較不整齊,一下介紹兩種等待元素出現的方式:

1.隱形等待某個元素出現,就是將等待元素出現的操作設置爲全局的,driver的整個生命週期都起作用,我比較喜歡這種方式,簡單而且感覺是一勞永逸的事情。

     dr.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
2.明確等待某個元素出現,就是在對某個元素操作之前,等待這個特定的元素是否出現。

WebDriverWait wait = new WebDriverWait(dr,10);
		wait.until(new ExpectedCondition<WebElement>(){
			@Override
			public WebElement apply(WebDriver d) {
				return d.findElement(By.id("b"));
			}}).click();

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章