Selenium Webdriver:方法 alert() 未为 WebDriver.TargetLocator 类型定义
Posted
技术标签:
【中文标题】Selenium Webdriver:方法 alert() 未为 WebDriver.TargetLocator 类型定义【英文标题】:Selenium Webdriver: The method alert() is undefined for the type WebDriver.TargetLocator 【发布时间】:2011-08-24 15:23:36 【问题描述】:我正在尝试使用 Selenium Webdriver 处理警报,根据 selenium 文档,正确的实现是:
Alert alert = driver.switchTo().alert();
但是我收到错误消息 The method alert() is undefined for the type WebDriver.TargetLocator
什么版本的 Selenium 2 有这个 web driver api
【问题讨论】:
【参考方案1】:HmltUnit 驱动程序不支持警报。在 htmlUnitDriver.java (Selenium 2.0.6) 中:
public Alert alert()
throw new UnsupportedOperationException("alert()");
您使用的是哪个驱动程序?
【讨论】:
【参考方案2】:我正在使用 selenium 2.3,它对我有用。据我所知,警报仅适用于只有确定按钮的窗口。那就是你放 alert.accept(); 的地方声明。我在警报中看到的另一个问题是它可能会跳过警报,因此您可能必须为该特定警报设置等待语句。希望这会有所帮助。
【讨论】:
【参考方案3】:您可能需要为警报使用单独的导入语句:
import org.openqa.selenium.Alert;
我遇到了同样的问题。
【讨论】:
以上是关于Selenium Webdriver:方法 alert() 未为 WebDriver.TargetLocator 类型定义的主要内容,如果未能解决你的问题,请参考以下文章
c#爬虫-selenium检测webdriver封爬虫的解决方法
selenium+webdriver+python 中警告框的处理方法
Python Selenium Webdriver常用方法总结
Selenium4:“类型 WebDriver.TargetLocator 的方法 newWindow(WindowType) 未定义”