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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python selenium中等待元素出现及等待元素消失操作相关的知识,希望对你有一定的参考价值。

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

技术分享

幸运的是,在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中等待元素出现及等待元素消失操作的主要内容,如果未能解决你的问题,请参考以下文章

python selenium系列元素等待

Python+Selenium自动化篇-8-设置等待三种等待方法

selenium05-等待web元素的出现

selenium元素等待及滚动条滚动

Selenium with Python 008 - WebDriver 元素等待

selenium-三种等待方式总结