appium+python 判断元素是否存在

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-29 02:05   42   0

原文链接:https://testerhome.com/topics/7091

方法一:

def isElement(self,identifyBy,c):
    '''
    Determine whether elements exist
    Usage:
    isElement(By.XPATH,"//a")
    '''
    sleep(1)
    flag=None
    try:
        if identifyBy == "id":
            #self.driver.implicitly_wait(60)
            self.driver.find_element_by_id(c)
        elif identifyBy == "xpath":
            #self.driver.implicitly_wait(60)
            self.driver.find_element_by_xpath(c)
        elif identifyBy == "class":
            self.driver.find_element_by_class_name(c)
        elif identifyBy == "link text":
            self.driver.find_element_by_link_text(c)
        elif identifyBy == "partial link text":
            self.driver.find_element_by_partial_link_text(c)
        elif identifyBy == "name":
            self.driver.find_element_by_name(c)
        elif identifyBy == "tag name":
            self.driver.find_element_by_tag_name(c)
        elif identifyBy == "css selector":
            self.driver.find_element_by_css_selector(c)
        flag = True
    except NoSuchElementException,e:
        flag = False
    finally:
        return flag

判断是否有更新弹窗 示例:

while True:
    update = self.isElement(By.CSS_SELECTOR, "body > div.update-app-modal.small > div > div.update-btn-box > div.small-version")
    if update:
        print ("have update")
        self.driver.find_element_by_css_selector("body > div.update-app-modal.small > div > div.update-btn-box > div.small-version").click()
    else:
        break

方法二:

简单粗暴版:

def findItem(self,el):
source = self.driver.page_source
if el in source:
return True
else:
return False

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP