如何在 Selenium 4 中使用 ExpectedConditions?

Posted

技术标签:

【中文标题】如何在 Selenium 4 中使用 ExpectedConditions?【英文标题】:How to use ExpectedConditions in Selenium 4? 【发布时间】:2021-04-25 13:01:04 【问题描述】:

在 selenium 4 中,您可以等待元素的存在,但如果我想等待元素变得不可见或可点击,或者出现警报,我无法找到替代品。 以下提到的语句在 selenium 4 中不起作用,因为此版本的直到已弃用

if (KeyWord.contains("Visibility")) 
    wait.until(ExpectedConditions.visibilityOf(element)); // waiting for the element to be visible
 else if (KeyWord.contains("Click"))                   
   wait.until(ExpectedConditions.elementToBeClickable(element)); // waiting for the element to be Clickable
 else if (KeyWord.contains("Frame")) 
   wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(element)); // waiting for the frame to be available and switch to it
 else if (KeyWord.contains("Invisibility"))                    
    wait.until(ExpectedConditions.invisibilityOf(element));
 else if (KeyWord.contains("Alert")) 
    wait.until(ExpectedConditions.alertIsPresent());

【问题讨论】:

【参考方案1】:

这个问题在这里已经有了答案: wait.until(ExpectedConditions) doesnt work any more in selenium 基本上是告诉您添加(或升级您现有的)Google Guava 依赖项。

【讨论】:

以上是关于如何在 Selenium 4 中使用 ExpectedConditions?的主要内容,如果未能解决你的问题,请参考以下文章

Linux操作系统中expect如何使用?

如何在bash shell脚本中使用expect

expect脚本在Linux下是如何使用的

如何使用 Maven 使用 Selenium 3.4.0 启动 FireFoxDriver?

如何在expect与shell之间传递变量

如何使用expect和git clone?