expected_conditions模块包含了一系列预定义的条件来和WebDriverWait使用
code path: selenium.webdriver.support.expected_conditions
Source code
from selenium.webdriver.support import expected_conditions as EC
- title_is(title)
判断当前页面的title是否等于预期,必须完全匹配。
如果标题匹配,则返回True,否则返回false - title_contains(title)
判断当前页面的title是否包含预期字符串,区分大小写
如果标题匹配,则返回True,否则返回false - presence_of_element_located(locator)
判断某个元素是否被加到了dom树里,并不代表该元素一定可见 找到WebElement后返回该WebElement
- url_contains(url)
检查当前url是否包含预期字符串,区分大小写
当url匹配时返回True,否则返回False - url_matches(pattern)
检查当前url是否等于期望,必须完全匹配
如果url匹配,则返回True,否则返回false - url_to_be(url)
同url_matches(pattern)
- url_changes(url)
检查当前url是否不等于期望
如果url不同,则返回True,否则返回false。 - visibility_of_element_located(locator)
判断某个元素是否存在且可见. 可见代表元素非隐藏,并且元素的宽和高都不等于0
找到并可见WebElement后返回该WebElement - visibility_of(element)
与visibility_of_element_located的区别是一个传locator,这个方法直接传定位到的element
- presence_of_all_elements_located(locator)
判断是否至少有1个元素符合期望,存在于dom树中
找到WebElement后返回WebElement的列表 - visibility_of_any_elements_located(locator)
判断是否至少有1个元素符合期望,存在于dom树中
找到WebElement后返回WebElement的列表 - visibility_of_all_elements_located(locator)
检查所有元素是否都存在于页面显示且可见,可见代表元素非隐藏,并且元素的宽和高都不等于0
找到WebElement后返回WebElement的列表 - text_to_be_present_in_element(locator, text_)
检查给定文本是否存在于指定的元素。
- text_to_be_present_in_element_value(locator, text_)
检查元素值中是否存在给定文本的期望。
get_attribute(“value”) value属性值。 - text_to_be_present_in_element_attribute(locator, attribute_, text_)
检查元素属性中是否存在给定文本的期望。
get_attribute(attribute_) 指定属性。 - frame_to_be_available_and_switch_to_it(locator)
判断该frame是否可以切换,如果可以switch,返回True并且switch_to,否则返回False
- invisibility_of_element_located(locator)
判断某个元素中是否不存在于dom树或不可见
- invisibility_of_element(element)
同上,一个传locator,一个传element
元素是定位器(文本)或WebElement - element_to_be_clickable(mark)
检查元素的期望是可见的并已启用(enable),以便你可以点击它。
元素是定位器(文本)或WebElement - staleness_of(element)
判断某个元素是否从dom树中移除
如果元素仍然附加到DOM,则返回False,否则返回true - element_to_be_selected(element)
判断某个元素是否被选中,可用在下拉列表
- element_located_to_be_selected(locator)
同上,一个传locator,一个传element
- element_selection_state_to_be(element, is_selected)
检查给定元素是否被选中的期望值。
is_selected是布尔值 - element_located_selection_state_to_be(locator, is_selected)
同上,一个传locator,一个传element
- number_of_windows_to_be(num_windows)
期望窗口数是否符合预期
- new_window_is_opened(current_handles)
期望打开一个新窗口,通过是否增加窗口句柄判断
- alert_is_present()
判断页面上是否存在alert
- element_attribute_to_include(locator, attribute_)
判断指定元素是否包含给定属性
- any_of(*expected_conditions)
多个期望条件中的任何一个为真的期望。
相当于逻辑“或”。
返回第一个匹配条件的结果,如果没有,则返回False - all_of(*expected_conditions)
所有多个预期条件均为真的预期。
相当于逻辑“AND”。
当任何预期条件未满足时:返回False。
满足所有ExpectedConditions时:返回包含每个ExpectedCondition的返回值的列表 - none_of(*expected_conditions)
一种期望,即一个或多个期望条件均不成立。
相当于逻辑“非或”。
返回一个布尔值,都不成立,返回True