Определение содержимого из веб-браузера с помощью c # - PullRequest
0 голосов
/ 03 сентября 2018

Я создал это с помощью элемента управления Web Browser, в котором идентифицируется только конкретное слово, указанное в кодах. Единственная функция этого - он может читать содержимое и выделять слова из содержимого веб-страницы. Мой единственный вопрос: как я могу заменить строку на другие слова (в частности, изменить ее на звездочку (*)) вместо ее выделения? Спасибо.

 private void button1_Click(object sender, EventArgs e)
    {
        webBrowser1.Navigate(txbAdress.Text);
        webBrowser1.DocumentCompleted += webBrowser1_DocumentCompleted;
    }

    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        IHTMLDocument2 doc2 = webBrowser1.Document.DomDocument as IHTMLDocument2;
        StringBuilder html = new StringBuilder(doc2.body.outerHTML);

        var words = new[] { "bobo", "tanga", "gago" };
        foreach (String key in words)
        {
            String substitution = "<span style='background-color: rgb(255, 0, 0);'>" + key + "</span>";
            html.Replace(key, substitution);
        }

        doc2.body.innerHTML = html.ToString();
    }

1 Ответ

0 голосов
/ 03 сентября 2018

Мой единственный вопрос: как я могу заменить строку на другие слова? (специально поменяйте его на звездочку (*)) вместо выделения?

Изменение:

String substitution = "<span style='background-color: rgb(255, 0, 0);'>" + key + "</span>";
html.Replace(key, substitution);

до:

html.Replace(key, "*");

Или, если вы пытаетесь убрать каждый конкретный символ слова звездочкой, то создайте строку звездочек длиной до key (которую вы можете узнать по значению key.Length).

...