使用SendKeys函数后出现C#Selenium Web驱动程序异常
本文关键字:C#Selenium Web 驱动程序 异常 SendKeys 函数 使用 | 更新日期: 2023-09-27 18:20:27
嗨,使用SendKeys函数后,我的web驱动程序出现问题。
我试图做的是,在点击对话框上的"确定"按钮后,在网页上点击"保存"按钮,然后我试图获取新打开的页面的url。
在使用SendKeys功能之前,我的网络驱动程序运行正常,因为我可以点击按钮,获取URL等。
我认为问题可能与点击对话框上的OK按钮后网页失去焦点有关,所以我使用了以下代码(但这也不起作用):-
> System.Collections.ObjectModel.ReadOnlyCollection<string> winHandle2 =
> _webDriver.WindowHandles;
>
> _webDriver.SwitchTo().Window(winHandle[0]).SwitchTo();
我得到的例外可以在下面看到:-
WebDriver.dll中发生"System.InvalidOperationException"类型的异常,但未在用户代码中处理附加信息:[JavaScript错误:"a为null"{file:"file:///C:/Users/andrew.short/AppData/Local/Temp/anonymous.3779fc41a91f475c89d01937ed7bb71b.webdriver-配置文件/扩展/fxdriver@googlecode.com/components/command_processor.js"line:8816}]'[JavaScript错误:"a为null"{file:"file:///C:/Users/andrew.short/AppData/Local/Temp/anonymous.3779fc41a91f475c89d01937ed7bb71b.webdriver-配置文件/扩展/fxdriver@googlecode.com/components/command_processor.js"行:8166}]'调用方法时:[nsICommonProcessor::execute]如果存在此异常的处理程序,则程序可以安全地继续运行
我感谢任何人能给我的帮助:-)
public static void SendKeys(this IWebElement element, string value, bool clearFirst)
{
if (clearFirst) element.Clear();
element.SendKeys(value);
}
这个函数非常简单,它所做的只是使我们的代码有点不简洁。在最初的SeleniumRC中,SendKeys会清除一个文本字段,然后发送所需的文本。在Selenium2中,除非显式执行,否则不会首先清除文本字段。然后我们可以将其组合起来,以允许类似以下内容:
myElement.SendKeys("populate field", clearFirst: true);