【问题标题】:C# Selenium Web Driver Exception after using SendKeys Function使用 SendKeys 函数后的 C# Selenium Web 驱动程序异常
【发布时间】:2014-09-03 14:40:33
【问题描述】:

您好,使用 SendKeys 功能后,我的网络驱动程序出现问题。

我要做的是在单击网页上的“保存”按钮后单击对话框上的确定按钮后,然后尝试获取新打开的页面的网址。

在使用 SendKeys 功能之前,我的网络驱动程序运行正常,因为我可以单击按钮、获取 url 等。

我认为问题可能与单击对话框上的“确定”按钮后网页失去焦点有关,因此我使用了以下代码(但这也不起作用):-

> System.Collections.ObjectModel.ReadOnlyCollection<string> winHandle2 =
> _webDriver.WindowHandles;
> 
> _webDriver.SwitchTo().Window(winHandle[0]).SwitchTo();

我得到的异常如下所示:-

WebDriver.dll 中出现“System.InvalidOperationException”类型的异常,但未在用户代码中处理 附加信息:[JavaScript 错误:“a 为空”{file:“file:///C:/Users/andrew.short/AppData/Local/Temp/anonymous.3779fc41a91f475c89d01937ed7bb71b.webdriver-profile/extensions/fxdriver@googlecode。 com/components/command_processor.js”行:8166}]'[JavaScript 错误:“a 为空”{file:“file:///C:/Users/andrew.short/AppData/Local/Temp/anonymous.3779fc41a91f475c89d01937ed7bb71b .webdriver-profile/extensions/fxdriver@googlecode.com/components/command_processor.js" line: 8166}]' 调用方法时:[nsICommandProcessor::execute] 如果有这个异常的处理程序,程序可以安全地继续。

感谢任何人能给我的帮助:-)

【问题讨论】:

  • 什么样的对话框?截图吧。在此处发布它的 HTML。它使用了哪些插件? jQuery?还有什么?

标签: c# selenium web driver


【解决方案1】:
public static void SendKeys(this IWebElement element, string value, bool clearFirst)
{
    if (clearFirst) element.Clear();
    element.SendKeys(value);
}

这个函数很简单,它所做的只是让我们的代码简洁一些。在最初的 Selenium RC 中,SendKeys 会清除一个文本字段,然后发送所需的文本。在 Selenium 2 中,除非明确执行,否则不会首先清除文本字段。然后我们可以将它结合起来以允许类似的东西:

myElement.SendKeys("populate field", clearFirst: true);

【讨论】:

    猜你喜欢
    • 2013-10-16
    • 1970-01-01
    • 2014-11-05
    • 2018-01-13
    • 1970-01-01
    • 1970-01-01
    • 2013-08-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多