C # проблема веб-браузер onclick элемент - PullRequest
1 голос
/ 07 июня 2011

То, что я пытаюсь сделать, это сканировать эту веб-страницу, используя 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_InventoryListDisplayFieldRepeater2_ctl00_BlockViewPaging_Next

Кроме того, как я буду перезагружать HTML каждый раз, когда я делаю InvokeMember?

Хорошо, так что обновляйте, если я добавлю кнопку в мою winform, она будет циклически повторяться.

1 Ответ

0 голосов
/ 07 июня 2011

Должно ли это быть сделано с помощью размещенного элемента управления WinForms WebBrowser?

Если вы можете делать все, что вам нужно, через обычный браузер, я бы посоветовал вам использовать специальную среду веб-тестирования, такую ​​как Selenium или Watin, для выполнения этого уровня автоматизации, а не пытаться заставить это сделать элемент управления WebBrowser.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...