selenium UnhandledalertFirefox 上未执行 Webdriver 类的异常



Autoit脚本完成后,通过Windows登录我,验证我的硒停止工作并且不在浏览器上执行任何命令(Firefox)

系统

版本: 19.0平台:视窗7火狐: 56.0 (64 位)硒:3.6.0测试用例

我想获取我的网页标题,但无法将其打印为浏览器,不读取任何 .driver 类

public static void main(String[] args) throws IOException {
    System.setProperty("webdriver.gecko.driver", "C:/Users/aamir.fatimi/Downloads/geckodriver-v0.19.0-win64/geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.get("http://dbu-export-09/en/Pages/default.aspx");
Runtime.getRuntime().exec("C:\Users\aamir.fatimi\Desktop\AutoIT\Autoit.exe");
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
String get_Title = driver.getTitle();
System.out.println("Title is" + get_Title);
driver.quit();

已编辑:

您可以尝试通过以下方式等待警报不存在:

(new WebDriverWait(driver, 10))
    .until(ExpectedConditions.not(ExpectedConditions.alertIsPresent()));
在自动执行

脚本之后,以确保在自动执行时 Web 驱动程序获得标题。当然,假设您的 Autoit 脚本不会留下任何警报挂起,在这种情况下,您可以简单地尝试:

//Snippet from answer of smit9234 - not tested
try {
    Alert alert = driver.switchTo().alert();
    alert.sendKeys(username + Keys.TAB.toString() + password);
    alert.accept();
} catch (Exception e) {
    e.printStackTrace();
}

同样,紧接着(或者甚至可能相反,如果脚本应该关闭警报并且只是工作不正确/不一致)脚本。或者修改"自动"以关闭警报,然后选择选项 1。

扩展上面的库丁答案:

  1. 删除自动 IT 脚本
  2. 添加以下内容来代替它
try {
    Alert alert = driver.switchTo().alert();
    alert.sendKeys(yourusername + Keys.TAB.toString()+yourpassword);
    alert.accept();
} catch (Exception e) {
    e.printStackTrace();
}

相关内容

最新更新