Selenium 2 WebDriver UnhandledAlertException Java
在我开始受到责骂之前,我已经阅读了大部分关于此问题的现有问题,并应用了不同的解决方案(大多数重复同样的事情),但它仍然不适用于我。 我有一个包含所有必要依赖项的maven项目,测试中的网站专门针对IE进行,并要求我拥有特定的证书才能访问它。 我有它的证书,当我进入网站时,在加载页面之前它要求我确认我有证书,我需要在弹出窗口确认,然后登录页面完全加载。
我做过典型的做法:
WebDriverWait wait = new WebDriverWait(driver, 3); try { // Handle alert box driver.navigate().to("https://ke.m-pesa.com/ke/"); wait.until(ExpectedConditions.alertIsPresent()); Alert alert = driver.switchTo().alert(); alert.accept(); } catch(Exception e) { //whatever }
你能告诉我哪里出错了吗? 到目前为止,到目前为止我只使用了Selenium RC,所以这个webdriver的东西对我来说仍然是一种新的东西。 如果您需要我提供更多信息,请告诉我。 为什么我仍然得到UnhandledAlertException? 为什么我手动按下确定按钮之前无法访问登录页面?
你尝试过使用Robot吗? 就像是 :
Alert alert = driver.switchTo().alert(); Robot a = new Robot(); a.keyPress(KeyEvent.VK_ENTER);
为什么机器人而不是动作
从这个答案 :
这些工具的工作方式存在巨大差异。 Selenium使用WebDriver API并将命令发送到浏览器以执行操作(通过“JSON有线协议”)。
Java AWT Robot使用本机系统事件来控制鼠标和键盘。
如果您正在进行浏览器自动化,理想情况下,您不会使用像Robot这样的东西,因为通常selenium提供的function绰绰有余。 虽然,有些情况下打开了浏览器或本机操作系统弹出窗口,例如上传/下载文件 – 这也可以通过机器人解决 –
- UnreachableBrowserException尝试使用IEDriver在Selenium Webdriver中启动
- 如何杀死在后台运行的IEDriver exe进程(Selenium webdriver)?
- 对同一个IEdriver实例进行多次测试 – 内存问题
- Selenium WebDriver和InternetExplorer
- Internet Explorer 8-10中的Selenium WebDriver Windows切换问题
- 使用Selenium webdriver for Internet Explorer。 测试不会运行
- 防止IE缓存
- 在HTTP请求中创建的PDF将无法在Internet Explorer中打开
- 来自IE中的servlet的持久性cookie