Javascript 如何在没有id的网页上单击按钮?

Javascript 如何在没有id的网页上单击按钮?,javascript,c#,jquery,asp.net,Javascript,C#,Jquery,Asp.net,如果导航到,可以看到有一个ExportExcel按钮。如果我查看源代码,我会在以下格式下找到按钮: <td align="right" class="ExportExcel" valign="middle"> <a href="JavaScript:void(0)" onClick="openExport('../pages/ListExportToExcel.aspx?zipCode=&c

如果导航到,可以看到有一个
ExportExcel
按钮。如果我查看源代码,我会在以下格式下找到按钮:

<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>
我的浏览器出现错误。文档为空:

对象引用未设置为对象的实例

我哪里做错了?还是有更好/不同的方法

编辑:

基于s,我尝试了以下方法,但
MyBrowser\u 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");
    }

}

获取所有
锚定标记
,并找到所需的
标记
,然后单击该标记。我已经做了一个代码,试试这个

        HtmlElementCollection links = MyBrowser.Document.GetElementsByTagName("A");
        foreach (HtmlElement link in links)
        {
            if (link.InnerText!=null && link.InnerText.Equals("Export to"))
                link.InvokeMember("Click");
        }

希望有帮助。

尝试将您的代码包装在
webBrowser.DocumentCompleted
事件中,该事件将解决此问题。@DavidR谢谢。你能检查我的编辑吗?你能设置一个调试点并检查执行是否在那里停止吗?@DavidR是的,我使用了一个断点进行调试,我从来没有点击过。谢谢,但我仍然无法“点击”<代码>MyBrowser\u DocumentCompleted不执行。。同样的代码在你的机器上工作了吗?我将你的代码添加到
mainForm\u Load
MyBrowser。文档仍然为空并弹出一个错误我没有创建
WebBrowser
控件的实例,我只是在窗体上拖动它,注册事件,就是这样。你应该试试,如果不行,在这里发表评论。当做如果MyBrowser不是WebBrowser的实例,那么代码中的MyBrowser是什么?当您在
WinForm上拖放控件时,Visual Studio
会自动在designer.cs中创建一个实例。我使用Visual Studio指定的默认名称调用了该控件,即webBrowser1
        HtmlElementCollection links = MyBrowser.Document.GetElementsByTagName("A");
        foreach (HtmlElement link in links)
        {
            if (link.InnerText!=null && link.InnerText.Equals("Export to"))
                link.InvokeMember("Click");
        }