码迷,mamicode.com
首页 > 编程语言 > 详细

python selenium中等待元素出现及等待元素消失操作

时间:2016-10-31 12:56:14      阅读:738      评论:0      收藏:0      [点我收藏+]

标签:put   search   nbsp   自己   span   html   ret   except   bsp   

在自动化测试中,很多时候都会有等待页面某个元素出现后能进行下一步操作,或者列表中显示加载,直到加载完成后才进行下一步操作,但时间都不确定,如下图所示

技术分享

幸运的是,在selenium 2后有一个模块expected_conditions,里面有很多函数可以完成这个工作,相关博客可见

http://www.cnblogs.com/nbkhic/p/4885041.html

但在selenium 1中或自己仅仅想写个简单用法该怎么处理那?解决如下:

from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.by import By
import selenium.webdriver.support.expected_conditions as EC
import selenium.webdriver.support.ui as ui



# 一直等待某元素可见,默认超时10秒
def is_visible(locator, timeout=10):
    try:
        ui.WebDriverWait(driver, timeout).until(EC.visibility_of_element_located((By.XPATH, locator)))
        return True
    except TimeoutException:
        return False

# 一直等待某个元素消失,默认超时10秒
def is_not_visible(locator, timeout=10):
    try:
        ui.WebDriverWait(driver, timeout).until_not(EC.visibility_of_element_located((By.XPATH, locator)))
        return True
    except TimeoutException:
        return False

调用方法很简单,只需要在用时,调用如下:

is_not_visible(//input[@input="search-error"])

 

python selenium中等待元素出现及等待元素消失操作

标签:put   search   nbsp   自己   span   html   ret   except   bsp   

原文地址:http://www.cnblogs.com/landhu/p/6015200.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!