Autoit脚本完成后通过Windows身份验证登录我的selenium停止工作并且不在浏览器上执行任何命令(Firefox)
系统
版本:19.0 平台:Windows 7 Firefox: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();
答案 0 :(得分:-1)
<强>编辑:强>
您可以尝试以这种方式等待警报缺席:
(new WebDriverWait(driver, 10))
.until(ExpectedConditions.not(ExpectedConditions.alertIsPresent()));
执行Autoit脚本后立即执行以确保WebDriver在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 :(得分:-1)
扩展Kudin的答案:
try { Alert alert = driver.switchTo().alert(); alert.sendKeys(yourusername + Keys.TAB.toString()+yourpassword); alert.accept(); } catch (Exception e) { e.printStackTrace(); }