相关文章推荐
文武双全的圣诞树  ·  地名传说故事·  4 月前    · 
悲伤的拖把  ·  喜报 | ...·  5 月前    · 
潇洒的野马  ·  华为matebook16参数 ...·  1 年前    · 
私奔的炒饭  ·  海淘奶粉 ...·  1 年前    · 

Python Selenium - 如何判断网页元素(element)是否存在

在AirtestIDE作web做界面UI自动化测试的时候,有时候会遇到一种情况,就是页面可能因为具体操作不同而使流程结果产生不一样的变化,比如可能随机出现的确认框,又或者一般流程是不会出现的,但有可能存在某个不影响流程的因素,但仍是属于流程的,而导致测试流程发生的可控范围内变化。

在python里面可进行逻辑判断的常用一般方法有: if/else,try/except

try/except的格式如下:

try :
   do action 1
except A:
   do action 2
except B:
   do action 3
else :
   do action 4

A B 可选,如果不带任何条件,则按照以下顺序执行:try 正常情况,except 异常情况,else 啥事没有。

if/else 格式如下:

if A:
   do action 1
elif B:
   do action 2
else : 
   do action 3

如果使用if else判断元素是否存在的话可能会直接报错,比如下面的代码,以淘宝为例:

driver.get("https://www.taobao.com/")
driver.find_element_by_id("q").send_keys("墙架")
driver.find_element_by_xpath("//button[@type='submit']").click()
#关键字搜索需要登陆,以下代码判断登陆框是否存在
if driver.find_element_by_xpath("//*[@id=\"J_LoginBox\"]") :
    print("please login first!")