Selenium 中ExpectedConditions 用法说明(最全整理)

By | November 10, 2020

首先导入包
[cc lang=”python”]from selenium.webdriver.support import expected_conditions as EC[/cc]
1,判断当前页面的title是否精确等于预期
[cc lang=”text”]titleIs( String title)
EC.title_is(‘Google’)
[/cc]

2,判断当前页面的title是否包含预期字符串
[cc lang=”text”]titleContains( String title)[/cc]
[cc lang=”python”]if EC.title_contains(‘google’):
##等于
if ‘google’ in driver.title:
[/cc]

3,判断当前页面的url是否精确等于预期
[cc lang=”text”]urlToBe( String url)[/cc]

4,判断当前页面的url是否包含预期字符串
[cc lang=”text”]urlContains( String fraction)[/cc]

5,当前URL字符串正则表达式匹配
[cc lang=”text”]urlMatches( String regex)[/cc]

6,判断元素是否出现,只要有一个元素出现,就通过。(出现不代表可见
判断是否至少有 1 个元素存在于 dom 树中。举个例子,如果页面上有 n 个元素的 class 都是’column-md-3’,那么只要有 1 个元素存在,这个方法就返回 True。
[cc lang=”text”]presenceOfElementLocated( By locator)[/cc]

7,判断元素是否出现,必须所有符合条件的元素都加载出来,才通过。
[cc lang=”text”]presenceOfElementsLocated( By locator)[/cc]

8,如果给定元素是可见的且具有非零大小,否则为null
[cc lang=”text”]elementIfVisible(WebElement element)[/cc]

9,判断元素是否出现。
[cc lang=”text”]presenceOfAllElementsLocatedBy( By locator)[/cc]

10,判断某个元素是否可见. 可见代表元素非隐藏,并且元素宽和高都不等于 0
[cc lang=”text”]visibilityOfElementLocated( By locator)[/cc]

11,判断某组元素是否可见
[cc lang=”text”]visibilityOfAllElementsLocatedBy( By locator)[/cc]

12,判断某个元素是否可见. 可见代表元素非隐藏,并且元素宽和高都不等于 0,传入类型为:element
[cc lang=”text”]visibilityOfAllElements(final List elements)[/cc]

13,判断某个元素中的text是否包含了预期的字符串;
[cc lang=”text”]textToBePresentInElement( WebElement element, String text)[/cc]

14,判断某个元素中的 text 是否 包含 了预期的字符串
[cc lang=”text”]textToBePresentInElement(By locator, String text)[/cc]

15,判断某个元素中的 text 是否 包含 了预期的字符串
[cc lang=”text”]textToBePresentInElementLocated(final By locator, final String text)[/cc]

16,判断某个元素中的 value 属性是否包含 了预期的字符串,传入element
[cc lang=”text”]textToBePresentInElementValue( WebElement element, String text)[/cc]

17,判断某个元素中的 value 属性是否包含 了预期的字符串,传入locator
[cc lang=”text”]textToBePresentInElementValue(final By locator, final String text)[/cc]

18,判断该 frame 是否可以 switch进去,如果可以的话,返回 True 并且 switch 进去,否则返回 False
[cc lang=”text”]frameToBeAvailableAndSwitchToIt(final String frameLocator)[/cc]

19,断该 frame 是否可以 switch进去,如果可以的话,返回 True 并且 switch 进去,否则返回 False,传入locator
[cc lang=”text”]frameToBeAvailableAndSwitchToIt(final By locator)[/cc]

20,某个元素中是否不存在于dom树或不可见;
[cc lang=”text”]invisibilityOfElementLocated(final By locator)[/cc]

21,判断带有文本的元素要么不可见,要么文本不存在于元素上
[cc lang=”text”]invisibilityOfElementWithText(final By locator, final String text)[/cc]

22,是否可点击,判断某个元素中是否可见并且是enable的,这样的话才叫clickable;
[cc lang=”text”]elementToBeClickable(final By locator)[/cc]

23,判断某个元素中是否可见并且是enable的,这样的话才叫clickable;
[cc lang=”text”]elementToBeClickable(final WebElement element)[/cc]

24,判断一个元素是否仍在DOM中,传入WebElement对象,可以判断页面是 否刷新了。
[cc lang=”text”]stalenessOf(final WebElement element)[/cc]

25,refreshed(final ExpectedCondition condition)

26,页面元素处于被选中状态
[cc lang=”text”]elementToBeSelected(WebElement element)[/cc]

27,判断某个元素的选中状态是否符合预期,传入element
[cc lang=”text”]elementSelectionStateToBe( WebElement element, boolean selected)[/cc]

28,判断某个元素是否被选中了,一般用在下拉列表;
[cc lang=”text”]elementToBeSelected(By locator)[/cc]

29,判断某个元素的选中状态是否符合预期,传入locator
[cc lang=”text”]elementSelectionStateToBe(final By locator, final boolean selected)[/cc]

30,判断页面上是否存在alert.返回Ture或False
[cc lang=”text”]alertIsPresent()[/cc]
[cc lang=”python”]print(EC.alert_is_present()) ## True or Flase[/cc]

31、
[cc lang=”text”]not(final ExpectedCondition condition)[/cc]

32、
[cc lang=”text”]WebElement findElement(By by, WebDriver driver)[/cc]

33、
[cc lang=”text”]List findElements(By by, WebDriver driver)[/cc]

Leave a Reply

Your email address will not be published.