C#Selenium Webdriver JavaScriptExecutor提示窗口

时间:2016-05-06 17:04:46

标签: javascript c# selenium-webdriver

我有一个JavaScript提示窗口,我正在尝试处理。我之前有一个只是包含了一个' OK'和'取消'

我能够处理的
((IJavaScriptExecutor)ts.getDriver()).ExecuteScript("window.confirm = function(){return true; }")

但是现在我有另一个提示信息,但这次要求我发送文字到提示信息,然后点击“确定”。我对javascript并不熟悉,语法是否可以提供语法将文本发送到提示框?

更新:我尝试自动化的应用程序生成了Windows提示符。在过去,我用

处理了大部分警报弹出窗口
.SwitchTo().Alert().Accept();   

但是这个特定的Windows提示符(请参见图片示例)

enter image description here

无法以这种方式捕获,因此我使用JavaScript来处理弹出窗口。我在顶部引用代码的第一部分的原因是因为我用来处理第一个窗口提示符的这段特殊代码。不同的是,这次Windows Prompt Box有一个' OK'按钮,'取消'按钮和其中的文本框,我必须输入某种文本来关闭提示框。我试图找出的是我用什么语法来处理将文本发送到这个Windows提示符中的例子:

((IJavaScriptExecutor)ts.getDriver()).ExecuteScript("window.confirm = function(){return true; }");

用于关闭“确定”'提示消息但是对于带有文本的提示框我应该在ExecuteScript中写什么

((IJavaScriptExecutor)ts.getDriver()).ExecuteScript("???");

所以基本上我应该在哪里编写问号所在的脚本。

1 个答案:

答案 0 :(得分:1)

所以这对于Selenium来说必须是一个非常常见的用例;我的经历有限。然而,谷歌搜索,我发现了以下内容:

Alert alert = driver.SwitchTo().Alert();
driver.SwitchTo().Alert().SendKeys("Hello");
alert.Accept();

(来自SeleniumEasy

我修复了C#实现的驼峰案例;最初的例子是Java。