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() は機能します。テキスト フィールドにテキストが書き込まれます。ボタンをクリックすると WatiN が強調表示されるため、Click() も機能しますが、ボタンをクリックしても何も起こりません。

自分でボタンをクリックしても何も起こりませんが、テキストフィールドに手動で何かを入力して検索をクリックすると、人間がページとやり取りしているかどうかをページが認識して検索を許可しているかのように、すべてが機能します...

テキストフィールドに何かを入力したときに発生するイベントを監視し、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 に答える