0

特定のURLにアクセスし、フォームに入力して送信ボタンをクリックして送信するボットを作成しています...

私の状況を説明させてください。ボットを起動すると、最初に URL にアクセスし、Web ページが読み込まれた後、そこで 1 つのラジオ ボタンを手動でチェックする必要があります。その後、送信ボタンを押します (Web ページのすべてのフィールドに入力して送信するための Windows フォーム コントロール ボタン)インボーク クリック メソッドを使用して) フォームを送信します。

私は Web ブラウザ コントロール (C#.NET Windows フォームでのコーディング) を使用していますが、問題は、ラジオ ボタンをクリックすると、ポップアップ ウィンドウに "スクリプト エラー" という見出しが表示され、次のように表示されることです。ここに画像の説明を入力

以下は、IE 開発ツールを使用してコピーしたラジオ ボタン (エラーがポップアップする) のタグです。

<input name="array(BlastDatabaseType)" onchange="changeQuestion(); changeAlgorithms();"
type="radio" value="Proteins"/>

このエラーは、通常の Web ブラウザーでは発生しません。このエラーを非表示にしないように解決したい。

4

2 に答える 2

4

Webブラウザ制御で発生するjavascriptエラーを修正する必要があるというご質問から私が理解したことは、

基本的な解決策は 2 つあります。

1) Web ブラウザ コントロールが最新の IE ブラウザをエミュレートするように強制します。これにはレジストリを変更する必要があり、PC にインストールされている IE ブラウザーを使用できるようになります。

Mikel Solutionからの適応HTML ページ内
でメタ タグを使用できます。<meta http-equiv="X-UA-Compatible" content="IE=9" >

ただし、次のレジストリ エントリを追加することをお勧めします。(goto > start > run > type 'regedit' enter)

HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER) > SOFTWARE > Microsoft > Internet Explorer > Main > FeatureControl > FEATURE_BROWSER_EMULATION > contoso.exe = (DWORD) 00009000

10000 (0x02710)Internet Explorer 10 で使用

2) GeckoFX ラッパーを使用し、Gecko エンジンをラップします。GeckoFX ラッパーを
ダウンロードします。XulRunner をダウンロードします

最初に GeckoFX を抽出し、readme.txt ファイルを読みます。

ツールバーに Gecko.dll の参照を追加し、コントロールをフォームにドラッグ アンド ドロップします。

public Form1()
    {
        InitializeComponent();
        //you need to extract the Xulrunner in the soultion directory
        //  (preferable) b/c wrapper relies on these dlls.
        Skybound.Gecko.Xpcom.Initialize(@"C:\Xulrunner");
    }

    private void Form1_Load(object sender, EventArgs e)
    {
       geckoWebBrowser1.Navigate("http://tritrypdb.org/tritrypdb/"); 
    }


その他の役立つリンク:
http://msdn.microsoft.com/en-us/library/ee330730%28VS.85%29.aspx#browser_emulation
IE9 WebBrowser コントロールは、SVG を含む IE9 のすべての機能をサポートしますか?

于 2012-09-19T15:56:31.853 に答える
0

IEは、onchangeイベントを異なる方法で処理します。IEは、要素がフォーカスを失ったときにのみonchangeイベントを発生させます。

私があなたの質問を正しく理解した場合は、代わりにonkeypressイベントを使用することをお勧めします。

于 2012-09-17T19:47:57.713 に答える