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