我有Selenium问题。当我点击提交按钮时,会显示确认提醒。我需要在" OK"按钮继续。
问题是,在我提交按钮后,我有以下例外:
出现模态对话框
在我尝试获取警报窗口之前发生了这种情况。
js.ExecuteScript("arguments[0].click();", elementInput); // This line throw the exception
IAlert confirmationAlert = _webDriver.SwitchTo().Alert();
confirmationAlert.Accept();
堆栈跟踪:
at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 1341
at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 1112
at OpenQA.Selenium.Remote.RemoteWebDriver.ExecuteScriptCommand(String script, String commandName, Object[] args) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 1196
at OpenQA.Selenium.Remote.RemoteWebDriver.ExecuteScript(String script, Object[] args) in c:\Projects\webdriver\dotnet\src\webdriver\Remote\RemoteWebDriver.cs:line 529
at Kenji.Program.UploadFile(String GTSID, String filePath) in C:\Users\UsrName\Documents\Visual Studio 2015\Projects\Kenji\Kenji\Program.cs:line 213
我使用Internet Explorer 17.713.10586.0和Selenium Dot Net 3.2.0。该应用程序仅与IE兼容。
非常感谢提前!
答案 0 :(得分:0)
您可以尝试使用selenium类警报接受警报,以接受弹出窗口而不是使用javascript
WebDriverWait wait = new WebDriverWait(driver, 10);
Alert alert = wait.until(ExpectedConditions.alertIsPresent());
alert.accept();
答案 1 :(得分:0)
driver.SwitchTo().ActiveElement();
System.Windows.Forms.SendKeys.SendWait(@"{ENTER}");
尝试此操作而不是切换到警报。假设警报是当时唯一的活动元素,这应该可行。上面的例子是C#。