2

私は Web ブラウザー自動化の初心者であり、学習するサンプルとして Google ページを選択しました。

Google ドライブへのファイルのアップロードをシミュレートしようとしましたが、いくつかの問題が発生しました。

http://s4.postimage.org/jbx6c3q3h/Untitled_1.jpg

private void webBrowser_DocumentCompleted ( object sender, WebBrowserDocumentCompletedEventArgs e ) {
    HtmlElement element = webBrowser.Document.GetElementById( "contentcreationpane" );
    if ( element != null )
        UploadFile();
}


private void UploadFile () {
    HtmlElementCollection elements = webBrowser.Document.GetElementsByTagName( "div" );
    foreach ( HtmlElement element in elements ) {
        if ( element.GetAttribute( "data-tooltip" ) == "Upload" ) {
            element.InvokeMember( "click" );
            break;
        }
    }

    HtmlElement uploadButton = webBrowser.Document.GetElementById( ":1" );
    if ( uploadButton != null ) {
        uploadButton.InvokeMember( "click" );
    } else {
        Exception goes here! Is it necessary to do a wait after previous element "Upload" is clicked?
    }
}
4

3 に答える 3

1

Seleniumのようなある種のWebUIテストフレームワークを使用してみることができます。テストケースを記録するのに役立ち、テストプロジェクトに貼り付けるC#コードを生成することもできます。

于 2013-03-18T06:49:39.607 に答える
1

これは意図的に自動化するのが難しいかもしれません - GMail (および Yahoo やその他の Web メール プロバイダー) が、Web インターフェースを介した電子メール送信の自動化を意図的に複雑にしていることを私は知っています。

したがって、ドキュメントを Google ドライブにアップロードするのも同様かもしれません。悪用を防ぐために、Google はアップロードの自動化を困難にするロードブロッキングを導入した可能性があります。

于 2013-03-19T00:24:10.233 に答える