Получение последней вставки .txt от пользователя webBrowser c # - PullRequest
0 голосов
/ 27 апреля 2019

Пользователь, от которого я получаю обновления службы, использует Pastebin.Мне нужно регулярно обновлять свои пользовательские серверы.Поэтому мне нужен самый последний .txt из его Pastebin.Я хотел бы автоматически получить ссылку для самой последней.Поэтому мой сервис обновлений может прочитать его.Я использую Windows Forms в visual studio c #.

Попытался получить идентификатор со страницы html, но не смог получить последний .txt из его pastebin.

webBrowser1.Navigate("https://pastebin.com/u/xxxxx");
webBrowser1.Document.GetElementById(latestandgreatest).InvokeMember("Click");
url = webBrowser1.Url.AbsoluteUri; 
NewestUpdateLink = url;

Очевидно, что "lastestandgreatest"каким-то образом представляет ссылку на новейший файл .txt, опубликованный пользователем ...

1 Ответ

0 голосов
/ 29 апреля 2019

Вы не можете скачать файл сразу после перехода на сайт. Перейдите на сайт в форме загрузки

    private void Form2_Load(object sender, EventArgs e)
    {
        webBrowser1.Navigate("https://pastebin.com/jFhS1daA");
        webBrowser1.ScriptErrorsSuppressed = true;
    }

В документе с веб-браузером завершено действие, найдите ссылку, которую вы хотите скачать, и вызовите событие клика

    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        // Find the download link by text
        HtmlElement htmlElement = (from HtmlElement element in webBrowser1.Document.GetElementsByTagName("A") select element)
            .Where(x => string.Compare(x.InnerText, "download", true) == 0).FirstOrDefault();
        if (htmlElement != null)
        {
            htmlElement.InvokeMember("click");
        }
    }
...