Как очистить веб после входа - PullRequest
0 голосов
/ 13 февраля 2019

Я могу нормально зайти на веб-страницу и перейти на страницу внутри сайта "urlCanada".Однако, когда я пытаюсь загрузить эту информацию в htmlCanada и отладить ее, он показывает мне html экрана входа в систему вместо html навигационной страницы.Я что-то пропустил?Зачем htmlCanda вернуться на страницу входа, если я сказал об этом GetStringAsync со страницы навигации?

        var urlCanada = webBrowserCanada.Url;
        //Creates a client for you to store the webpage in
        var httpClientCanada = new HttpClient();
        var htmlCanada = await httpClientCanada.GetStringAsync(urlCanada);
        //Allows parsing the information out
        var htmlDocumentCanada = new HtmlAgilityPack.HtmlDocument();
        htmlDocumentCanada.LoadHtml(htmlCanada);
        //Parse the information
        var ProductsHtml = htmlDocumentCanada.DocumentNode
           .SelectSingleNode("//table[@id='tableid']")
            .Descendants("tr")
            .Skip(1)
            .Where(tr => tr.Elements("td").Count() > 1)
            .Select(tr => tr.Elements("td").Select(td => td.InnerText.Trim()).ToList())
            .ToList();

Это HTML-код таблицы

<table class="GridViewMFG" rules="all" id="ctl00_mainContent_GridViewIssuedParts" style="width:100%;border-collapse:collapse;" cellspacing="0" cellpadding="4" border="1">
</table>

PS Когда я отлаживаю ипосмотрите на webBrowserCanada.Url, он показывает HTML-код перемещаемой веб-страницы.

1 Ответ

0 голосов
/ 13 февраля 2019

Так что я смог найти легкую работу вокруг.Так как webBrowserCanada.Url имел необходимую информацию, я удалил эти две строки кода.

        var httpClientCanada = new HttpClient();
        var htmlCanada = await httpClientCanada.GetStringAsync(urlCanada);

И заменил его на

        var htmlCanada = webBrowserCanada.DocumentText;

Так что теперь весь код читает

        var htmlCanada = webBrowserCanada.DocumentText;
        //Allows parsing the information out
        var htmlDocumentCanada = new HtmlAgilityPack.HtmlDocument();
        htmlDocumentCanada.LoadHtml(htmlCanada);
        //Parse the information
        var ProductsHtml = htmlDocumentCanada.DocumentNode
           .SelectSingleNode("//table[@id='tableid']")
            .Descendants("tr")
            .Skip(1)
            .Where(tr => tr.Elements("td").Count() > 1)
            .Select(tr => tr.Elements("td").Select(td => td.InnerText.Trim()).ToList())
            .ToList();
...