我有一种情况(在selenium测试期间),在这种情况下,用户将收到安全代码。然后,用户必须先输入安全代码,然后才能继续操作。
我不太确定如何获得用户输入的值。我浏览了selenium文档,并提出了这个建议。不幸的是,它并不是很有效。
JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript("window.promptResponse=prompt('Please enter the security code')"); if(isAlertPresent()) { // switch to alert Alert alert = driver.switchTo().alert(); // sleep to allow user to input text Thread.sleep(10000); // this doesn't seem to work code = (String) js.executeScript("return window.promptResponse"); alert.accept();
有人可以指出我正确的方向吗?
似乎您必须先接受并关闭提示,然后才能存储和使用该值
alert.accept(); code = (String) js.executeScript("return window.promptResponse");