0

食べ物を予約するために使用する食べ物の予約サイトがあります。予約を自動化したい。曜日ごとに7つのチェックボックスがあるフォームがあります。チェックボックスを取得し、希望の日をチェックしてから、送信ボタンをクリックします。問題は、チェックボックスがオンになっているが食べ物がチェックされているが、ページがリロードされたときにボタンをクリックした後、チェックボックスがチェックされていない場合です(これは食べ物が予約されていないことを意味します)。実際、これは私が通常のブラウザで行うことであり、チェックボックスはページのリロード後にチェックされます。チェックボックスのチェックに問題があります。私はそれらをチェックするためにこれらのコードを試しました:

element.SetAttribute("checked", "checked");
element.InvokeMember("Click");

また、プログラムが実行されているときに、(コードを使用せずに)自分でクリックすると機能しますが、コードで2つのチェックボックスをオンにし、別のチェックボックスを自分でチェックすると、同様に機能しません。

4

1 に答える 1

0

ページデザイナには、チェックボックスのラベルにあるmousedownおよびmouseupイベントに関するいくつかの関数があり、チェックボックスのmousedownおよびmouseupイベントではなく、それらの内部で呼び出される関数があります。

<span style="display:inline-block;text-decoration:none;height:21px;">
<input id="chk3" type="checkbox" name="chk3" checked="checked">
<label for="chk3">Tuesday</label>
</span>

チェックボックスの横にあるラベルのクリックを呼び出したところ、機能しました。

HtmlElement element; //points to the checkbox
HtmlElement label = element.NextSibling;
label.InvokeMember("click");

私はいくつかのjavascript関数が次のような別のファイルにあることを発見しました

<script src="/WebResource.axd?d=a9EVQm7rLRaKIS8apQBSZw2&amp;t=634596512855689274" type="text/javascript"/>

WebBrowserがhtmlにリンクされたファイルをロードしていないのではないかと思いましたが、間違っていました。すべてのファイルをロードします。

于 2012-03-01T11:18:55.587 に答える