20023


# 概要

WebBrowserで特定のサイトをクローリングする際、パスワードを入力する要素に対するkeyupイベントの発火を受けて非活性状態のボタンを活性化させて、クリックできるようになるボタンがあります。  
このボタンは単にWebBrowser内のボタンのHTMLElementを拾ってInvokeMember("click")しただけでは押せません（次のページへ遷移できません）。  
ボタンを押して次のページへ遷移させたいです。

# 詳細

パスワードを入力するinput要素とボタン要素を含むHTMLは次のようなものです。

・パスワードのinput

[code]

    <td>
        <input name="moge" id="moge" type="password" size="11" maxlength="4" autocomplete="off" value=""></input>
    </td>
    
[/code]

・ボタン

[code]

    <li>
        <input name="hoge" id="btn" onclick="return shitanisetsumei()" type="image" src="hoge.png" disabled=""></input>
    </li>
    
[/code]

ボタンにあるshitanisetsumei()はボタンがクリックされていなければtrueを返すボタン連打対策のようです。

サイトをWebBrowserでなく人の手で辿っていくと、パスワードのinput要素のキーを入力する際、キーを押下して離す際にボタンが活性状態になります。

WebBrowserでこのボタンの活性状態を作り（form要素に対してkeyupイベントを発火させる？）、ボタンをクリックしたいのですがその方法がわかりません。

# 動作環境

・.NET Frame Work 4.5  
・Visual Studio2013

よろしくお願いします。


CC BY-SA 3.0
2015-12-15T09:05:58.503
20021
2015-12-15T11:03:28.307
12459
question
c# .net
C#のWebBrowserでkeyupイベントを発生擬似的に発生させる方法がわかりません。


コメントをいただいた通り、

[code]

    HTMLElement button = document.GetElementById("btn");
    button.Enabled = true;
    button.InvokeMember("click");
    
[/code]

で解決できました。ありがとうございました。


CC BY-SA 3.0
2015-12-15T11:03:28.307
20023
2015-12-15T11:03:28.307
12459
20021
answer