splinter 頁面元素判斷API

2021-09-29 21:27:45 字數 3063 閱讀 7340

這裡整理一些有關判斷頁面元素的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的寬度來作...