3

gmail に移動することはできますが、資格情報を入力してログイン ボタンをクリックするだけの簡単なことをしたいと考えています。

private void btnSubmit_Click(object sender, EventArgs e)
{       
    btnSubmit.Enabled = false;        
    webGmail.LoadURL("http://www.gmail.com");

    webGmail.LoadCompleted += ExecuteSomething;
}

private void ExecuteSomething(object sender, EventArgs eventArgs)
{
    webGmail.ExecuteJavascript(@"<script src = 'http://code.jquery.com/jquery-latest.min.js' type = 'text/javascript'></script>");
    webGmail.ExecuteJavascript(@"$('#Email').val('foo');");
    webGmail.ExecuteJavascript(@"$('#Passwd').val('bar');");
    webGmail.ExecuteJavascript(@"$('#signIn').click();");
}

何も起こりません。Chrome で開発者ツールを使用すると、ページ上の何も変更できないことを知っています。しかし、フォームに記入する方法はありますか?

他に優れたヘッドレス ブラウザはありますか? 何が起こっているのかを確認できるように、フォームに配置できる Web コントロールをサポートするものが実際に必要です。これは必須です

4

3 に答える 3

2

問題は、script タグが JavaScript ではなく HTML であるため、JavaScript として実行するとエラーが発生することです。ExecuteJavascript メソッドでスクリプトをロードするには、JavaScript でスクリプト要素を作成し、それをページ ヘッドに挿入する必要があります。

例については、 http ://www.kobashicomputing.com/injecting-jquery-into-awesomium を参照して ください。

于 2013-03-12T18:51:56.047 に答える
1

最近、同様の問題に遭遇しました。cefsharp、awesomium、open-webkit-sharp、geckofx を試しました。最も先進的なのは、奇妙なことに WebBrowser でした。ほとんどすべてのアクティビティを C# で直接実行できます。たとえば、WebBrowser でしかできなかった C# の送信ボタンをクリックします。それでも代替エンジンを使用したい場合は、open-webkit-sharp をお勧めします。これは最も高度なエンジンです (ただし、ボタンのクリックに関しては同じ問題があります)。

于 2012-07-15T22:41:21.410 に答える
0

WatiN には、Awesomium のベースとなっている Webkit の Javascript 実装があり、ソース コードは無料で、ホームページからダウンロードできます。幸運を。

awesomium を使用して c# から Javascript を呼び出して、この質問も役立つかもしれません。

于 2012-08-03T13:46:11.113 に答える