WatiN.Core.dll 中发生了 'WatiN.Core.Exceptions.RunScriptException' 类型的未处理异常
An unhandled exception of type 'WatiN.Core.Exceptions.RunScriptException' occurred in WatiN.Core.dll
'WatiN.Core.Exceptions.RunScriptException' 类型的未处理异常发生在 WatiN.Core.dll 附加信息:RunScript 失败....任何人都可以解决此错误吗???
browser.GoTo("http://www.errajatsharma.com/invoice/");
browser.TextField(Find.ByName("email")).TypeText("wolverine.rajat@gmail.com");
browser.TextField(Find.ByName("password")).TypeText("98983662634");
browser.Div(Find.ByName("submit")).Click();
当调试器到达 typetext 事件时出现上述错误...有人可以帮我吗???
好的,经过您的编辑,这现在更有意义了。您发布的代码似乎是您的全部代码。在此行之间:
browser.GoTo("http://www.errajatsharma.com/invoice/");
这行
browser.TextField(Find.ByName("email")).TypeText("wolverine.rajat@gmail.com");
browser.TextField(Find.ByName("password")).TypeText("98983662634");
程序需要等到页面加载(想一想,加载该网页可能需要 4 秒、1 秒、2 分钟等)才能等待(无论那是什么时间)watin以下代码:
browser.WaitForComplete();
所以在中间添加这行代码:
browser.GoTo("http://www.errajatsharma.com/invoice/");
browser.WaitForComplete();
browser.TextField(Find.ByName("email")).TypeText("wolverine.rajat@gmail.com");
browser.TextField(Find.ByName("password")).TypeText("98983662634");
browser.Div(Find.ByName("submit")).Click();
如果这是你的问题,你现在应该可以使用这些凭据登录(我刚刚尝试过,但这些凭据不是真实的,因此你需要用你的真实登录详细信息替换它们)。
编辑:
试试这个:
browser.GoTo("http://www.errajatsharma.com/invoice/");
browser.WaitForComplete();
TextField email = browser.TextField(Find.ByName("email"));
if(email.Exists){
email.TypeText("wolverine.rajat@gmail.com");
}else{
MessageBox.Show("Can't find email textbox");
}
如果您仍然收到消息 "Can't find email textbox",则电子邮件不在该页面上。你也可以试试
email.Value = "Something@something.com";
编辑 2:
我只是运行这个代码:
browser.GoTo("http://www.errajatsharma.com/invoice/");
browser.WaitForComplete(); browser.TextField(Find.ByName("email")).TypeText("wolverine.rajat@gmail.com"); browser.TextField(Find.ByName("password")).TypeText("98983662634");
browser.Button(Find.ByName("submit")).Click();
和预期的 运行(唯一的区别是您点击的是 DIV(名为提交)而不是 DIV 内的按钮(也名为提交) .如果仍然失败,则说明您遇到了其他问题(尝试更新的 IE 版本等)
我使用的是错误版本的 Internet Explorer...watin 仅支持 IE 6,7 和 8 版本...现在我使用的是 firefox 2.0 版...而 watin 最多支持 3.6 版.. 。这就是为什么它在 watin.core.dll 中给出错误...其余代码相同...无论如何感谢您的帮助伙伴! :)
'WatiN.Core.Exceptions.RunScriptException' 类型的未处理异常发生在 WatiN.Core.dll 附加信息:RunScript 失败....任何人都可以解决此错误吗???
browser.GoTo("http://www.errajatsharma.com/invoice/");
browser.TextField(Find.ByName("email")).TypeText("wolverine.rajat@gmail.com");
browser.TextField(Find.ByName("password")).TypeText("98983662634");
browser.Div(Find.ByName("submit")).Click();
当调试器到达 typetext 事件时出现上述错误...有人可以帮我吗???
好的,经过您的编辑,这现在更有意义了。您发布的代码似乎是您的全部代码。在此行之间:
browser.GoTo("http://www.errajatsharma.com/invoice/");
这行
browser.TextField(Find.ByName("email")).TypeText("wolverine.rajat@gmail.com");
browser.TextField(Find.ByName("password")).TypeText("98983662634");
程序需要等到页面加载(想一想,加载该网页可能需要 4 秒、1 秒、2 分钟等)才能等待(无论那是什么时间)watin以下代码:
browser.WaitForComplete();
所以在中间添加这行代码:
browser.GoTo("http://www.errajatsharma.com/invoice/");
browser.WaitForComplete();
browser.TextField(Find.ByName("email")).TypeText("wolverine.rajat@gmail.com");
browser.TextField(Find.ByName("password")).TypeText("98983662634");
browser.Div(Find.ByName("submit")).Click();
如果这是你的问题,你现在应该可以使用这些凭据登录(我刚刚尝试过,但这些凭据不是真实的,因此你需要用你的真实登录详细信息替换它们)。
编辑:
试试这个:
browser.GoTo("http://www.errajatsharma.com/invoice/");
browser.WaitForComplete();
TextField email = browser.TextField(Find.ByName("email"));
if(email.Exists){
email.TypeText("wolverine.rajat@gmail.com");
}else{
MessageBox.Show("Can't find email textbox");
}
如果您仍然收到消息 "Can't find email textbox",则电子邮件不在该页面上。你也可以试试
email.Value = "Something@something.com";
编辑 2:
我只是运行这个代码:
browser.GoTo("http://www.errajatsharma.com/invoice/");
browser.WaitForComplete(); browser.TextField(Find.ByName("email")).TypeText("wolverine.rajat@gmail.com"); browser.TextField(Find.ByName("password")).TypeText("98983662634");
browser.Button(Find.ByName("submit")).Click();
和预期的 运行(唯一的区别是您点击的是 DIV(名为提交)而不是 DIV 内的按钮(也名为提交) .如果仍然失败,则说明您遇到了其他问题(尝试更新的 IE 版本等)
我使用的是错误版本的 Internet Explorer...watin 仅支持 IE 6,7 和 8 版本...现在我使用的是 firefox 2.0 版...而 watin 最多支持 3.6 版.. 。这就是为什么它在 watin.core.dll 中给出错误...其余代码相同...无论如何感谢您的帮助伙伴! :)