this websiteに移動すると、ExportExcel
ボタンがあることがわかります。 I ビューソース場合、私はこのフォーマットの下のボタンを見つける:IDのないWebページのボタンをクリックするにはどうすればいいですか?
<td align="right" class="ExportExcel" valign="middle">
<a href="JavaScript:void(0)" onClick="openExport('../pages/ListExportToExcel.aspx?zipCode=&city=&county=&sState=MI&fromPrice=0&toPrice=0&fCaseNumber=&bed=0&bath=0&street=&buyerType=0&specialProgram=&Status=0&indoorAmenities=&outdoorAmenities=&housingType=&stories=&parking=&propertyAge=');return false;" >Export to</a>
</td>
WebBrowser MyBrowser = new WebBrowser();
MyBrowser.Navigate("https://www.hudhomestore.com/Listing/PropertySearchResult.aspx?sState=MI");
HtmlElementCollection classButton = MyBrowser.Document.All;
foreach (HtmlElement element in classButton)
if (element.GetAttribute("ExportExcel") == "button")
element.InvokeMember("click");
MyBrowser.Document
がnullであると、私はエラーを取得しています:
オブジェクト参照オブジェクトのインスタンスには設定されません。
どこが間違っていますか?または、より良い/異なる方法がありますか?
EDIT:
はS uggestion by user @DavidRに基づいて、私は以下試してみましたが、MyBrowser_DocumentCompleted
は、任意のヒットを取得することはありません:
public partial class mainForm : Form
{
WebBrowser MyBrowser = new WebBrowser();
// ..
private void mainForm_Load(object sender, EventArgs e)
{
MyBrowser.Navigate("https://www.hudhomestore.com/Listing/PropertySearchResult.aspx?sState=MI");
}
void MyBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
HtmlElementCollection classButton = MyBrowser.Document.All;
foreach (HtmlElement element in classButton)
if (element.GetAttribute("ExportExcel") == "button")
element.InvokeMember("click");
}
}
この問題を解決する 'webBrowser.DocumentCompleted'イベントの中にコードをラップしてみてください。 –
@DavidRありがとうございます。私の編集を確認できますか? –
デバッグポイントを設定し、そこで実行が停止するかどうか確認できますか? –