我刚刚下载并构建了 WatiN 并在他们的站点中运行示例(没有几行):
using (var browser = new IE("http://www.google.com"))
{
browser.TextField(Find.ByName("q")).TypeText("WatiN");
}
但是在运行时,Google 不会显示即时结果,因此似乎某些事件没有被正确触发以真正模拟用户输入。知道 WatiN(或上面的代码)缺少什么以及如何修复它吗?
我刚刚下载并构建了 WatiN 并在他们的站点中运行示例(没有几行):
using (var browser = new IE("http://www.google.com"))
{
browser.TextField(Find.ByName("q")).TypeText("WatiN");
}
但是在运行时,Google 不会显示即时结果,因此似乎某些事件没有被正确触发以真正模拟用户输入。知道 WatiN(或上面的代码)缺少什么以及如何修复它吗?
如果我测试您的代码,它会完全按照您的编码进行。
即时结果有效,打字有效。到底什么不适合你?
我建议不要使用 a using
,我知道这听起来很疯狂,但是浏览器在处理时会关闭,您也可以自己关闭它。
使用以下方法
var url = "http://www.google.co.in/?gws_rd=cr";
//Create an IE browser instance
var browser = new IE();
browser.GoTo(url);
// Wait for the browser to load properly.
browser.WaitForComplete();
//Find the Search textbox
var txtSearch = browser.TextField(Find.ByName("q"));
if (!txtSearch.Exists)
{
//log error here as the elemnt with property specified is not found
}
// Assign the value (what you want to search)
txtSearch.Value = "WATIN";
// Find the search button
var btnSearch = browser.Button(Find.ByName("btnG"));
if (!btnSearch.Exists)
{
//log error here as the elemnt with property specified is not found
}
//Click the search button
btnSearch.Click();
// Now you have search results so you can do whatever operations you want to perform
//When done, close the browser.
browser.Close();