私は 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?
}
}