日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

appium判断元素是否存在_Python+selenium自动化之判定元素是否存在

發(fā)布時(shí)間:2023/12/1 python 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 appium判断元素是否存在_Python+selenium自动化之判定元素是否存在 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在測(cè)試過程中,我碰到過這類的問題,使用find_element卻找不到某個(gè)元素而產(chǎn)生異常,這就需要在操作某個(gè)元素之前判定該元素是否存在,而selenium中沒有判定元素是否存在的方法,或者判定相同的元素有幾個(gè),需要操作對(duì)象是第幾個(gè)。但是,有人已經(jīng)總結(jié)一些相關(guān)的方式方法,下面還是通過實(shí)例說明。

find_elements獲取元素個(gè)數(shù)

如果確定查找的元素在網(wǎng)頁中只有一個(gè),那么完全可以用find_element(),但如果有多個(gè)滿足要求的節(jié)點(diǎn),用find_element()就只能得到第一個(gè)節(jié)點(diǎn)了,所以查找多個(gè)節(jié)點(diǎn)時(shí),應(yīng)該使用find_elements()更好。即使元素只有唯一的一個(gè)時(shí),由于網(wǎng)絡(luò)時(shí)延或者彈窗前后臺(tái)切換導(dǎo)致操作該元素時(shí),該元素不存在,就可以使用find_elements來判定元素個(gè)數(shù)是否不為零,再進(jìn)行相關(guān)操作。Selenium中find_elements的方法如下,但是注意復(fù)數(shù)形式,別亂用。

Find_elements的方法很多,如果常用判定最好自己寫一個(gè)函數(shù),方便調(diào)用,通常選擇CSS或xpath。返回0則頁面沒有這個(gè)元素,返回1則僅有1個(gè)元素,其它返回則說明有多個(gè)該元素。

還是以企業(yè)郵箱為例,企業(yè)郵箱默認(rèn)使用二維碼方式登錄,但是想要使用賬戶密碼登錄,就需要判定“賬戶密碼登錄”元素是否存在,我們可以使用 Ranorex Selocity直接復(fù)制該元素的xpath。

但是這類有一個(gè)確定,就是當(dāng)頁面存在多個(gè)同樣的元素時(shí),也是返回true,可能需要操作的并不是第一個(gè)。

捕獲異常

捕獲異常是使用find_element方法無法獲取元素則會(huì)拋出異常,如果找到元素則會(huì)返回True。

# -*- coding: UTF-8 -*-from selenium import webdriver

driver = webdriver.Firefox()

driver.implicitly_wait(20)

# 打開騰訊企業(yè)郵箱

driver.get("https://exmail.qq.com/login")

#判定元素是否存在def test_elements_judge(xpath):

test_element = driver.find_elements_by_xpath(xpath)

if len(test_element) == 1:

return True

else:

return False

#捕獲異常

def test_exceptions(xpath):

try:

driver.find_element_by_xpath(xpath)

return True

except:

return False

if test_exceptions("//form[@id='loginForm']"

"/div[3]/div[@class='login_scan_footer']/a[1]"):

driver.find_element_by_xpath("//form[@id='loginForm']" "/div[3]/div[@class='"

"login_scan_footer']/a[1]").click()

總結(jié)

以上是生活随笔為你收集整理的appium判断元素是否存在_Python+selenium自动化之判定元素是否存在的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。