0

我在页面上有一个文本字段和一个按钮:

<textarea class="txCS" id="text-area"></textarea>
<span id="search-button">Search</span>

我尝试的很简单,在文本字段中写一些文本,然后单击“搜索”。

browser.TextField("text-area").TypeText("Some Text");
browser.Span("search-button").Click();

TypeText() 有效,我看到我的文本写在文本字段上,Click() 也有效,因为我看到 WatiN 在单击按钮时突出显示它,但是当它单击按钮时没有任何反应。

当我自己单击按钮时,仍然没有任何反应,但是当我在文本字段中手动输入内容并单击搜索时,一切正常,就好像页面知道人类是否正在与页面交互并允许搜索......

当我在文本字段中键入某些内容时,我监控了触发的事件,然后尝试使用 WatiN 触发它们:

searchBox.FireEvent("onmouseover");
searchBox.FireEvent("onmousemove");
searchBox.FireEvent("onmousedown");
searchBox.FireEvent("onfocus");
searchBox.FireEvent("onmouseup");
searchBox.FireEvent("onclick");
searchBox.FireEvent("onkeydown");
searchBox.FireEvent("onkeypress");
searchBox.FireEvent("onkeyup");
searchBox.FireEvent("onchange");
searchBox.FireEvent("onblur"); 

那也没有用。我在这里做错了吗?

4

1 回答 1

0

就像其他人的参考一样,您的代码问题在于您试图单击跨度而不是按钮。除非您 100% 确定可点击元素是一个跨度,否则您应该在 Watin 中使用以下代码:

browser.Button("search-button").Click();

这应该可以解决问题

于 2014-04-22T16:43:54.530 回答