1. 程式人生 > >Selenium2+Python--等待頁面元素載入(wait)

Selenium2+Python--等待頁面元素載入(wait)

在進行web自動化的時候,受頁面載入速度影響比較大,常常會報element not found的錯誤。selenium1.0 中提供了selenium.isElementPresent(Xpath),用於判斷xpath是否存在,存在就執行操作,不存在就可以等待一定的時間段。在webDriver中提供了WebDriverWait類,可以智慧的等待頁面元素載入完成再執行操作。

利用這個類就可以實現智慧等待的效果:

​
     wait = WebDriverWait(webdriver,30)

  elm = wait.until(lambda x: x.find_element_by_xpath(Xpath))

  elm.click()

​

再提供一個判斷元素存在否:

  def isPresent(self):
  try: driver.find_element_by_xpath(Xpath)
  except NoSuchElementException, e: return False
  return True

相關推薦

Selenium2+Python--等待頁面元素載入(wait)

在進行web自動化的時候,受頁面載入速度影響比較大,常常會報element not found的錯誤。selenium1.0 中提供了selenium.isElementPresent(Xpath),用

selenium之如何等待頁面元素載入完成

webdriver中我們用兩種方式進行等待:明確的等待和隱性的等待。 明確的等待 明確的等待是指在程式碼進行下一步操作之前等待某一個條件的發生。最不好的情況是使用Thread.sleep()去設定一段確認的時間去等待。但為什麼說最不好呢?因為一個元素的載入時

selenium webdriver(Appium)如何等待頁面元素載入完成

selenium webdriver學習(十一)------------如何等待頁面元素載入完成 web的自動化測試中,我們經常會遇到這樣一種情況:當我們的程式執行時需要頁面某個元素,而此時這個元素還未載入完成,這時我們的程式就會報錯。怎麼辦?等待。等待元素出現後再進行

selenium webdriver學習(十一)-怎麼等待頁面元素載入完成

selenium webdriver學習(十一)------------如何等待頁面元素載入完成web的自動化測試中,我們經常會遇到這樣一種情況:當我們的程式執行時需要頁面某個元素,而此時這個元素還未載入完成,這時我們的程式就會報錯。怎麼辦?等待。等待元素出現後再進行對這個

WebDriver_Java(等待頁面元素載入完成)

web的自動化測試中,我們經常會遇到這樣一種情況:當我們的程式執行時需要頁面某個元素,而此時這個元素還未載入完成,這時我們的程式就會報錯。怎麼辦?等待。等待元素出現後再進行對這個元素的操作。 在selenium-webdriver中我們用兩種方式進行等待:明確的等待和隱性的

Selenium with Python 003 - 頁面元素定位

imp itl util lin tro pytho for title name WebUI自動化,首先需要定位頁面中待操作的元素,然後進行各種事件操作,這裏我們首先介紹Selenium Python 如何定位頁面元素,WebDriver 提供了一系列的方法。 定位單個頁

jquery等待特定元素載入再執行相關函式

jQuery.fn.wait = function (func, times, interval) { var _times = times || 100, //100次 _interval = interval || 20, //20毫秒每次 _self = t

1.8、Selenium2+python八種元素元素定位(Firebug和firepath)

自動化只要掌握四步操作:獲取元素,操作元素,獲取返回結果,斷言(返回結果與期望結果是否一致),最後自動出測試報告。本篇主要講如何用firefox輔助工具進行元素定位。元素定位在這四個環節中是至關重要的,如果說按學習精力分配的話,元素定位佔70%;操作元素10%,獲取返回結果10%;斷言10%。如果一個頁面上的

Selenium2+python自動化44-元素定位引數化(find_element)

前言 元素定位有八種方法,這個能看到這一篇的小夥伴都知道了,那麼有沒有一種方法,可以把八種定位合為一種呢?也就是把定位的方式引數化,如id,name.css等設定為一個引數,這樣只需維護定位方式的引數就行了。 小編曾經自己封裝過這種方法,最後定位方法寫成這樣:find_e

WebDriver拾級而上·之九 等待頁面載入元素完成

web的自動化測試中,我們經常會遇到這樣一種情況:當我們的程式執行時需要頁面某個元素,而此時這個元素還未載入完成,這時我們的程式就會報錯。怎麼辦?等待。等待元素出現後再進行對這個元素的操作。 在selenium-webdriver中我們用兩種方式進行等待:明確的等待和隱

WebDriver- 等待頁面載入元素完成

隱性等待是指當要查詢元素,而這個元素沒有馬上出現時,告訴WebDriver查詢Dom一定時間。預設值是0,但是設定之後,這個時間將在WebDriver物件例項整個生命週期都起作用 <span style="font-size:14px;">package com

python爬蟲--selenium等待頁面載入

python爬蟲,使用selenium 等待頁面載入完成後,獲取頁面資訊 指定等待時長內沒有載入完成,丟擲異常 from selenium import webdriver from seleniu

Selenium with Python 008 - WebDriver 元素等待

common alert 定位元素 nor comm ajax技術 http until val 如今大多數Web應用程序使用Ajax技術,當瀏覽器在加載頁面時,頁面上的元素可能並不是同時被加載完成的,這給元素的定位增加了困難。如果因為在加載某個元素時延遲而造成El

Selenium2+python自動化42-判斷元素(expected_conditions)【轉載】

lis 下拉列表 force eight cee .get matches ise blog 前言 經常有小夥伴問,如何判斷一個元素是否存在,如何判斷alert彈窗出來了,如何判斷動態的元素等等一系列的判斷,在selenium的expected_conditions模塊收集

Selenium2+python自動化6-八種元素元素定位(Firebug和firepath)

插件 end 選擇 text www. fin pat 重點 進行 前言 自動化只要掌握四步操作:獲取元素,操作元素,獲取返回結果,斷言(返回結果與期望結果是否一致),最後自動出測試報告。本篇主要講如何用firefox輔助工具進行元素定位。元素定位在這四個環節中是至關

Selenium2+python自動化35-獲取元素屬性

斷言 html element eva class baidu val 百度輸入 之前 前言 通常在做斷言之前,都要先獲取界面上元素的屬性,然後與期望結果對比。本篇介紹幾種常見的獲取元素屬性方法。 一、獲取頁面title 1.有很多小夥伴都不知道title長在哪裏,看下圖左

Selenium2+python自動化42-判斷元素(expected_conditions)

.com boolean als ESS 返回 sent XA lis alt 前言 經常有小夥伴問,如何判斷一個元素是否存在,如何判斷alert彈窗出來了,如何判斷動態的元素等等一系列的判斷,在selenium的expected_conditions模塊收集了一系列的場景

Selenium2+python自動化36-判斷元素存在

所有 ret ima elements .get _id utf-8 info python自動化 前言 最近有很多小夥伴在問如何判斷一個元素是否存在,這個方法在selenium裏面是沒有的,需要自己寫咯。 元素不存在的話,操作元素會報錯,或者元素有多個,不唯一的時候也會報

Python selenium根據class定位頁面元素

帶來 調整 空格 classname 百度 即使 不可 body ()   在日常的網頁源碼中,我們基於元素的id去定位是最萬無一失的,id在單個頁面中是不會重復的。但是實際工作中,很多前端開發人員並未給每個元素都編寫id屬性。通常一段html代碼如下: 1 <di

python+selenium高亮顯示正在操作的頁面元素

nbsp quit 設置 函數 net fin 正在 ive get 原文地址:https://blog.csdn.net/wxstar8/article/details/80801405 from selenium import webdriver import u