如何在webBrowser控件上“突出显示”搜索词?

杰森

[编辑]

我已经尝试了两种解决方法(在发布此帖子之前)。他们两个都没有工作。执行流永远不会进入它(是的,应该是..)。

-我猜应该有一些错误,看不见的错误。这样可以防止执行流进入其中。该程序显示一些屏幕,尽管它看起来像正常屏幕,但不是。这是一半的地方。

 if (e.Url.AbsolutePath == (sender as WebBrowser).Url.AbsolutePath)   

或者

 if (webBrowser1.ReadyState == WebBrowserReadyState.Complete) 

[结束编辑]

我在Google上搜索了“胃”一词,并用Yellow_color对其进行了高亮显示。

我取得了不错的成绩。

public static string myTerm = "stomach";   
private void Form1_Load(object sender, EventArgs e)
{
    webBrowser1.Navigate("https://www.google.co.kr/search?&q=" + myTerm);                       
    webBrowser1.ScriptErrorsSuppressed = true;
    WindowState = FormWindowState.Maximized;
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{   
    IHTMLDocument2 myDoc = webBrowser1.Document.DomDocument as IHTMLDocument2;
    StringBuilder myContents = new StringBuilder(myDoc.body.outerHTML);
    string myColoring = "<span style='background-color:yellow'>" + myTerm + "</span>";
    myContents.Replace(myTerm, myColoring);
    Regex myRex = new Regex(myColoring);
    myDoc.body.innerHTML = myRex.Replace(myContents.ToString(), myTerm, 6);  
    // I do not want to see codes at search_textbox itself, so I figured out '6' is a good number.
}

现在,我在Local_Website上使用了相同的代码。

这次,我有无限循环。

我猜搜索文本框会一次又一次地运行。

public static string myTerm = "stomach";   
private void Form1_Load(object sender, EventArgs e)
{
    webBrowser1.Navigate("http://www.kmle.co.kr/search.php?Search=" + myTerm);                      
    webBrowser1.ScriptErrorsSuppressed = true;
    WindowState = FormWindowState.Maximized;
}
int myCount = 0;
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    if (myCount == 10)   //  I do not want endless loop.
        return;
    myCount++;
    IHTMLDocument2 myDoc = webBrowser1.Document.DomDocument as IHTMLDocument2;
    StringBuilder myContents = new StringBuilder(myDoc.body.outerHTML);
    string myColoring =  "<span style='background-color:yellow'>" + myTerm + "</span>";
    myContents.Replace(myTerm, myColoring);
    myDoc.body.innerHTML = myContents.ToString();
}

有什么好的提示吗?我怎么有我的目标?

斯塔夫

您的问题是DocumentCompleted()多次触发。它可以在Google上使用,因为与您尝试加载的网站相比,他们的网站“更简单”(没有ajax或隐藏的框架)。

尝试将您的代码限制为仅在文档实际完成加载时调用

if ( (e.Url.AbsolutePath == (sender as WebBrowser).Url.AbsolutePath) ) 
{
    //do your magic here.
}; 

因此您的文档完成功能应如下所示:

    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        if (e.Url.AbsolutePath == (sender as WebBrowser).Url.AbsolutePath)
        { 
            IHTMLDocument2 myDoc = webBrowser1.Document.DomDocument as IHTMLDocument2;
            StringBuilder myContents = new StringBuilder(myDoc.body.outerHTML);
            string myColoring = "<span style='background-color:yellow'>" + myTerm + "</span>";
            myContents.Replace(myTerm, myColoring);
            myDoc.body.innerHTML = myContents.ToString();
        }
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何永久突出显示vim中的搜索词?

来自分类Dev

VIM:更改与/ search匹配的当前突出显示的搜索词

来自分类Dev

在webview android 4.0.4中突出显示搜索词

来自分类Dev

显示搜索词的文本摘录,无法正常工作

来自分类Dev

如何在Python中的关键搜索词前后显示2个词

来自分类Dev

在WordPress中显示搜索词(标签/存档)

来自分类Dev

如何在Whoosh上获得突出显示的搜索

来自分类Dev

突出显示字符串中的搜索词

来自分类Dev

如何在源代码中查找搜索词

来自分类Dev

CONTAINSTABLE如何与许多搜索词配合使用

来自分类Dev

如何显示MySQL数据库中的热门搜索词并按日期分组

来自分类Dev

如何仅显示完整材料Ui中的搜索词?

来自分类Dev

如何在Vapor 4(Fluent 4)中使用用户搜索词防止SQL注入

来自分类Dev

如何在标签组之间同步搜索词?

来自分类Dev

如何使Wget检索整个URL,包括搜索词

来自分类Dev

突出显示搜索词而不移动光标

来自分类Dev

是否有任何Firefox或Chrome插件来突出显示搜索词(并跳转到它们?)

来自分类Dev

突出显示具有不同颜色的多个搜索词的搜索(hls)匹配项

来自分类Dev

如何在php中标记搜索词

来自分类Dev

Lucene搜索词如何工作

来自分类Dev

Google搜索javascript-如何获取搜索词

来自分类Dev

如何在C ++中使用cURL来让用户输入URL的搜索词?

来自分类Dev

vim-搜索和替换后不突出显示搜索词吗?

来自分类Dev

在MVC中使用jquery突出显示搜索词

来自分类Dev

lxml:如何在不向每个搜索词添加xmlns(localhost)路径的情况下搜索字段?

来自分类Dev

如何在 TextView 中转到搜索词 - Android

来自分类Dev

使用 AJAX 在 ASP.NET MVC 中突出显示返回结果中的搜索词

来自分类Dev

如何在 elasticsearch 中获取搜索词列表的单词上下文?

来自分类Dev

是否有用于在搜索结果中突出显示搜索词的小鬼符号?

Related 相关文章

  1. 1

    如何永久突出显示vim中的搜索词?

  2. 2

    VIM:更改与/ search匹配的当前突出显示的搜索词

  3. 3

    在webview android 4.0.4中突出显示搜索词

  4. 4

    显示搜索词的文本摘录,无法正常工作

  5. 5

    如何在Python中的关键搜索词前后显示2个词

  6. 6

    在WordPress中显示搜索词(标签/存档)

  7. 7

    如何在Whoosh上获得突出显示的搜索

  8. 8

    突出显示字符串中的搜索词

  9. 9

    如何在源代码中查找搜索词

  10. 10

    CONTAINSTABLE如何与许多搜索词配合使用

  11. 11

    如何显示MySQL数据库中的热门搜索词并按日期分组

  12. 12

    如何仅显示完整材料Ui中的搜索词?

  13. 13

    如何在Vapor 4(Fluent 4)中使用用户搜索词防止SQL注入

  14. 14

    如何在标签组之间同步搜索词?

  15. 15

    如何使Wget检索整个URL,包括搜索词

  16. 16

    突出显示搜索词而不移动光标

  17. 17

    是否有任何Firefox或Chrome插件来突出显示搜索词(并跳转到它们?)

  18. 18

    突出显示具有不同颜色的多个搜索词的搜索(hls)匹配项

  19. 19

    如何在php中标记搜索词

  20. 20

    Lucene搜索词如何工作

  21. 21

    Google搜索javascript-如何获取搜索词

  22. 22

    如何在C ++中使用cURL来让用户输入URL的搜索词?

  23. 23

    vim-搜索和替换后不突出显示搜索词吗?

  24. 24

    在MVC中使用jquery突出显示搜索词

  25. 25

    lxml:如何在不向每个搜索词添加xmlns(localhost)路径的情况下搜索字段?

  26. 26

    如何在 TextView 中转到搜索词 - Android

  27. 27

    使用 AJAX 在 ASP.NET MVC 中突出显示返回结果中的搜索词

  28. 28

    如何在 elasticsearch 中获取搜索词列表的单词上下文?

  29. 29

    是否有用于在搜索结果中突出显示搜索词的小鬼符号?

热门标签

归档