###前提・実現したいこと
C#のWPFでスクレイピング機能を作っています。
webページのsample.htmlからclass名から要素を取得して、li要素のタブをクリックする機能を実装したいのですが、そもそもなにかエラーになるのではなく、メソッドがない、または僕の方で実装するメソッドの知識が無いため、実現できません。
初歩的な質問で恐縮ですが、ご存知の方がいらしたらご教授願えないでしょうか。
###発生している問題・エラーメッセージ
エラーメッセージ
###該当のソースコード
以下 sample.html(画面遷移後の該当ページ) -------------------------------------------------------------- <html> <body> <div id = "sampleDiv"> <ul> <li class = "sampleClass" selected> <span id="sampleSpan">タブ1</span> </li> <li class = "sampleClass"> <span id="sampleSpan">タブ2</span> </li> <li class = "sampleClass"> <span id="sampleSpan">タブ3</span> </li> </ul> </div> </body> </html> -------------------------------------------------------------- 以下 C# sample.xaml.cs -------------------------------------------------------------- //IEを起動 SHDocVw.InternetExplorer IE = new SHDocVw.InternetExplorer(); IE.Visible = true; //webページを起動 string url = "http~"; IE.Navigate(url); //完全表示まで待機 IE.Wait(); //HTML内の情報取得 mshtml.IHTMLDocument3 html = IE.Document; //別ページボタンの押下 html.getElementsByTagName("A").Cast<mshtml.IHTMLElement>() .Where(x => x.innerText != null && x.innerText.Contains("別ページ")).First().click(); IE.Wait(); //別ページに飛んだHTML要素を再取得 html = IE.Document; //ここでclass要素指定からli要素を取得し、該当のタブをクリックしたい html.getElementsByclassName("sampleClass").selectedのような形を行いたい。 --------------------------------------------------------------
###試したこと
リクエストを飛ばして、要素取得する形ではなく、いったんwebブラウザを表示させて、
そこから断続的に情報を取っていく形にしたいため、SHDocVw.InternetExplorerを利用しております。
###補足情報(言語/FW/ツール等のバージョンなど)
visual stadio2017を使っています。