溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

selenium高效應(yīng)對Web頁面元素刷新的示例分析

發(fā)布時間:2021-07-23 11:05:32 來源:億速云 閱讀:228 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“selenium高效應(yīng)對Web頁面元素刷新的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“selenium高效應(yīng)對Web頁面元素刷新的示例分析”這篇文章吧。

當(dāng)我們在頁面上進(jìn)行selenium.type()或者selenium.click()操作的時候,往往需要需要等待一個元素的出現(xiàn),對于一般的網(wǎng)頁,當(dāng)我們進(jìn)入一個新頁面的時候,往往會使用selenium.waitForPageToLoad(WAITTIME);

對彈出窗口中的元素,往往寫死要等待多少秒,其實(shí)可以使用如下更加通用高效的方法,自己寫一個waitForElement()的方法:

Java代碼

protected void waitForElement(String target) { 
  for (int second = 0;; second++) { 
   if (second >= 60) { 
    LOGGER.debug("Element:" + target 
      + " can't be found after 60 seconds"); 
    fail("find element timeout: " + target);     
   } 
   try { 
    if (selenium.isElementPresent(target)) 
     break; 
   } catch (Exception e) { 
    LOGGER.debug("Element:" + target 
      + " can't be found in 60 seconds"); 
    assert (false); 
   } 
   pause(1000); 
  } 
 }

這段代碼的功能是讓我們最多等待某個元素60秒,直至它出現(xiàn),否則就讓test case失敗,當(dāng)我們要click或者type某個元素的時候,就先調(diào)用這個方法,下面是經(jīng)過改進(jìn)的click方法

Java代碼

protected void click(String locator) { 
   waitForElement(locator); 
   selenium.click(locator); 
  }

從此,我們可以不管頁面倒是是不是ajax實(shí)現(xiàn),只要調(diào)用這樣的click()方法,程序中就不需要出現(xiàn)Thread.sleep(10000)這樣的代碼了。

以上是“selenium高效應(yīng)對Web頁面元素刷新的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI