2017-10-09 79 views
0

AutoIt脚本后完成登录我透过窗户验证自己的硒停止工作,不执行对浏览器(Firefox)硒UnhandledalertException在Firefox不执行的webdriver类

系统

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

我想我的网页的标题,但unbale打印它作为浏览器不读任何.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(); 
+0

是否有任何异常显示或只是挂起? –

+0

尝试使用Thread.sleep()函数或尝试调试模式。 –

+0

@AlexeyR。我提到堆栈跟踪没有被绞死,只是在认证后打开我的网页,然后不执行任何命令 –

回答

-1

编辑:

您可以尝试等待警报是在这样缺席:

(new WebDriverWait(driver, 10)) 
    .until(ExpectedConditions.not(ExpectedConditions.alertIsPresent())); 

之后你的AutoIt脚本的执行,以确保webdriver的GET的冠军时, 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(); 
} 

,右后(或者甚至可能相反,如果脚本应该关闭警告和: 假设当然你AutoIt脚本不会留下任何警报挂,在这种情况下,你可以简单地尝试只是工作不正确/不一致)脚本。或修改的AutoIt关闭警报,并与选项1

+1

如果没有提供这个信息,你怎么知道警报是windows警报?在这种情况下,我的建议是如何关闭Autoit的警报不起作用?请重新考虑你的失望。 – Kudin

+0

对不起,但是这与什么有关?你看过我的回复吗? – Kudin

+0

Kudin,编辑你的答案,我会upvote你。你的回答是正确的。 – smit9234

-1

扩大对Kudin的答案上面去:

  1. 取出AutoIt脚本
  2. 添加以下代替它
try { 
    Alert alert = driver.switchTo().alert(); 
    alert.sendKeys(yourusername + Keys.TAB.toString()+yourpassword); 
    alert.accept(); 
} catch (Exception e) { 
    e.printStackTrace(); 
}