這裡整理一些有關判斷頁面元素的api,如果存在元素,則返回true,否則返回false。
並且可以設定乙個可選引數的等待時間,大數多介面都有判斷存在和判斷不存在組合。
1,is_text_present(text, wait_time=none)
判斷瀏覽器上是否有text本文存在,可以設定乙個等待時間(可選引數)
# -*- coding: utf-8 -*-
from splinter.browser import browser
import time
bs = browser('chrome')
bs.visit('')
time.sleep(1)
if bs.is_text_present('李老道自學網', 3):
print 'ok'
else:
print 'no'
2,is_element_present_by_xpath(xpath, wait_time=none)
判斷當前頁面是否存在xpath指定的元素,可以設定乙個等待時間(可選引數)
判斷當前頁面是否不存在xpath指定的元素:
is_element_not_present_by_xpath(xpath, wait_time=none)
例子:驗證頁面是否存在xpath為@id="task_describe"的元素
# -*- coding: utf-8 -*-
from splinter.browser import browser
import time
bs = browser('chrome')
bs.visit('')
time.sleep(1)
if bs.is_element_present_by_xpath('//*[@id="task_describe"]', wait_time=3):
print 'ok'
else:
print 'no'
3,is_element_present_by_value(value, wait_time=none)
判斷當前頁面上是否存在指定value值的元素,可以設定乙個等待時間(可選引數)
判斷當前頁面是否不存在指定value值的元素
is_element_not_present_by_value(value, wait_time=none)
例子:判斷頁面上是否存在value為test的元素
# -*- coding: utf-8 -*-
from splinter.browser import browser
import time
bs = browser('chrome')
bs.visit('')
time.sleep(1)
if bs.is_element_present_by_value('test'):
print 'ok'
else:
print 'no'
通過三個例子,發現wait_time=3,也可以寫成 3,也可以不寫,因為它是可選引數。
4,is_element_present_by_text(text, wait_time=none)
判斷當前頁面上是否存在text本文,可以設定乙個等待時間(可選引數)
判斷當前頁面是否不存在text本文:
is_element_not_present_by_text(text, wait_time=none)
例子:# -*- coding: utf-8 -*-
from splinter.browser import browser
import time
bs = browser('chrome')
bs.visit('')
time.sleep(1)
if bs.is_element_present_by_text('緊急程度'):
print 'ok'
else:
print 'no'
5,is_element_present_by_name(name, wait_time=none)
判斷當前頁面是否存在指定name的元素,可以設定乙個等待時間(可選引數)
判斷當前頁面是否不存在指定name的元素:
is_element_not_present_by_name(name, wait_time=none)
例子:判斷頁面上是否存在name為task_type的元素
# -*- coding: utf-8 -*-
from splinter.browser import browser
import time
bs = browser('chrome')
bs.visit('')
time.sleep(1)
if bs.is_element_present_by_name('task_type'):
print 'ok'
else:
print 'no'
6,is_element_present_by_id(id, wait_time=none)
判斷當前頁面上是否存在指定id的元素,可以設定乙個等待時間(可選引數)
判斷當前頁面上是否不存在指定id的元素:
is_element_not_present_by_id(id, wait_time=none)
例子:判斷頁面上是否存id為task_user的元素
# -*- coding: utf-8 -*-
from splinter.browser import browser
import time
bs = browser('chrome')
bs.visit('')
time.sleep(1)
if bs.is_element_present_by_id('task_user'):
print 'ok'
else:
print 'no'
如何判斷類頁面元素陣列和類頁面元素物件
var a document.getelementbyid divid var b document.getelementsbytagname p 一般我們以為a返回的是乙個物件,b返回的是乙個陣列,其實不是這樣的,兩個都是物件 a instanceof object true b instance...
使用頁面元素屬性做狀態判斷的隱患
在做dhtml開發的時候,依賴一些頁面元素的得值來作為頁面的狀態的判斷,初看似乎並沒有什麼問題。可是在後期的開發和維護中,卻是乙個隨時可能產生莫名其妙bug的隱藏炸彈。如果不小心引爆,那就只有鬱悶的份了。問題示例 在製作乙個帶有多個框架的框架頁面時,由於為了一時的簡單,直接使用了frame的寬度來作...
使用頁面元素屬性做狀態判斷的隱患
在做dhtml開發的時候,依賴一些頁面元素的得值來作為頁面的狀態的判斷,初看似乎並沒有什麼問題。可是在後期的開發和維護中,卻是乙個隨時可能產生莫名其妙bug的隱藏炸彈。如果不小心引爆,那就只有鬱悶的份了 問題示例 在製作乙個帶有多個框架的框架頁面時,由於為了一時的簡單,直接使用了frame的寬度來作...