C#在单击elementid时使Web浏览器出现问题

本文关键字:浏览器 问题 Web 时使 单击 elementid | 更新日期: 2023-09-27 17:58:40

我要做的是使用C#抓取这个网页http://www.madisonhonda.com/Preowned-Inventory.aspx?layout=layout1#

到目前为止,我只有这个

public const string TestURL = "http://www.madisonhonda.com/PreownedInventory.aspx#layout=layout1";
static void kickOFF()
{
    WebBrowser wb = new WebBrowser();
    //wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
    wb.Navigate(TestURL);
    while (wb.ReadyState != WebBrowserReadyState.Complete)
    {
        Application.DoEvents();
    }
    HtmlElement document = wb.Document.GetElementsByTagName("html")[0];
    HtmlElement button = wb.Document.GetElementById("ctl08_ctl00_InventoryListDisplayFieldRepeater2_ctl00_BlockViewPaging_Next");
    button.InvokeMember("click");

使用firebug,这就是它对我想要点击的元素所说的:

a id="ctl08_ctl00_InventoryListDisplayFieldRepeater2_ctl00_BlockViewPaging_Next"       
href="Default.aspx?ajax_callback=true&ajax_t=1307474539641&hyperlinkargument=Next&page=preowned-inventory&previouspage=1&totalrecords=83&currentpage=Next&layout=layout1&pagesize=25&virtualpageindex=0&numberofvisiblepages=10" 
savedhref="Default.aspx?ajax_callback=true&ajax_t=1307474539641&hyperlinkargument=Next&page=preowned-inventory&previouspage=1&totalrecords=83&currentpage=Next&layout=layout1&pagesize=25&virtualpageindex=0&numberofvisiblepages=10" 
onclick="javascript:AJAX_FireCallBackEvent(this,event,'ctl08$ctl00$InventoryListDisplayFieldRepeater2$ctl00$BlockViewPaging$Next','$Next',true,'','','',true,PreSearchAjax,PostSearchAjax,null,true,true);return false;"> ► </a>

我是不是看错身份证了?不是吗?ctl08_ctl00_IventoryListDisplayFieldRepeater_ctl00_BlockViewPaging_Next

此外,每次执行InvokeMember时,我将如何重新加载html?

好的,所以更新,如果我在winform中添加一个按钮,它会循环抛出网页。

C#在单击elementid时使Web浏览器出现问题

必须使用托管的WinForms WebBrowser控件吗?

如果你可以通过普通浏览器做你需要的事情,我建议你使用专用的网络测试框架,如Selenium或Watin来执行这种级别的自动化,而不是试图让WebBrowser控件来执行。