我刚刚开始研究WatiN并且正在关注http://www.codeproject.com/KB/aspnet/WatiN.aspx的示例。不幸的是,我遇到了一个问题,即它声称名称为“q”的文本字段不存在。
这是我的代码:
[STAThread]
static void Main(string[] args)
{
IE ie = new IE();
ie.GoTo("http://www.google.com");
TextField ietxt = ie.TextField(Find.ByName("q"));
ietxt.TypeText("WatiN");
ie.Button(Find.ByValue("Google Search")).Click();
}
当它到达行ietxt.TypeText(“WatiN”)时,它会抛出错误: “找不到INPUT(隐藏)或INPUT(密码)或INPUT(文本)或INPUT(textarea)或TEXTAREA元素标记匹配条件:google.com/上的属性'name'等于'q'(内部异常:Element wasn'在30秒内可用。)“
似乎每个人都使用这个例子,它适用于他们。此外,我进入了google.com的源代码,并确切地找到了“q”确实是搜索文本字段名称的位置。
<input name="q" title="Search" class="gsfi" id="lst-ib" ....>
有谁知道为什么我会收到此错误?
答案 0 :(得分:1)
我找到了解决方法!从进一步的测试中我得出的结论是,问题似乎来自我的机器上如何配置IE 8。我在其他机器上使用xp和IE8进行了测试,一切正常。卸载并重新安装IE8已经解决了这个问题。
我仍然不确定我过去的IE8版本的配置有何不同,所以如果有人对可能导致这种情况的任何想法有所了解,我会很高兴听到。
谢谢!