在selenium webdriver中声明和启动带有等待的警报时,类型不匹配:无法从警报转换为警报错误即将出现
在下面的代码中,尽管我在SeleniumWebDriver中声明并初始化了一个警报,但SeleniumWebDriver中出现了以下错误在selenium webdriver中声明和启动带有等待的警报时,类型不匹配:无法从警报转换为警报错误即将出现,selenium,selenium-webdriver,Selenium,Selenium Webdriver,在下面的代码中,尽管我在SeleniumWebDriver中声明并初始化了一个警报,但SeleniumWebDriver中出现了以下错误 Alert action = wait.until(ExpectedConditions.alertIsPresent()); 在上述警报中 类型不匹配:无法从警报转换为警报 尽管上述警报已正确声明,但仍将出现。以下是您问题的答案: 根据您的问题,您提供了以下代码行: Alert action = wait.until(ExpectedConditions.
Alert action = wait.until(ExpectedConditions.alertIsPresent());
在上述警报中
类型不匹配:无法从警报转换为警报
尽管上述警报已正确声明,但仍将出现。以下是您问题的答案: 根据您的问题,您提供了以下代码行:
Alert action = wait.until(ExpectedConditions.alertIsPresent());
从语法上讲,你是非常正确的
观察代码块的以下快照,调用alertIsPresent()
将返回ExpectedCondition
现在进入错误部分,您将看到类型不匹配:无法从警报转换为警报
最可能的原因可能是您的代码不完整或缺少导入。要使这一行代码正常工作,您必须具备以下条件:
WebDriverWait
的实例导入
import org.openqa.selenium.Alert;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
//your code
WebDriverWait wait8 = new WebDriverWait(driver, 10);
Alert action = wait8.until(ExpectedConditions.alertIsPresent());
如果这能回答您的问题,请告诉我。第一行应该是wait.until(ExpectedConditions.alertIsPresent());后跟警报操作=driver.switchToalert();您对
警报使用了什么导入?您可以添加异常的完整堆栈跟踪吗?@santhoshkumar不需要alertIsPresent
returnsdriver.switchTo().alert()
@GaurangShah然后我认为,有两个警报类正在发挥作用,一个是警报警报对象引用变量,另一个是预期密码返回的警报类。两者都可能引用具有相同名称的不同类“警报”。在Jayant,您是否可以检查更新webdriver和selenium standalone。。。这只是一个想法,我不确定谢谢@DebanjanB。它对我有效。软件包有一个导入问题。现在代码完全正常了