zoukankan      html  css  js  c++  java
  • WebBrowser1_DocumentCompleted事件里面无法触发InvokeMember("click")

    在WebBrowser1_DocumentCompleted事件里面加入网页操作之后,任何操作都没反应,如:

    foreach (HtmlElement em in extendedWebBrowser1.Document.Links)
    {
        if ((em.InnerText == "购买") && (em.GetAttribute("title") == "确认信息。"))
        {
            em.InvokeMember("click");
            break;
        }
    }
    不管怎么样都无法操作InvokeMember("click");
    但是把次代码加在一个按钮事件下,是没任何问题的
    纠结半天,使用新线程之后发现可以解决,但是不知道为何如此,哪位高人可以指教?
    最后实现:
                if (extendedWebBrowser1.AllComplete)
                {
                    th = new Thread(() =>
                        {
                            Invoke((ThreadStart)delegate()
                                {
                                    foreach (HtmlElement em in extendedWebBrowser1.Document.Links)
                                    {
                                        if ((em.InnerText == "购买") && (em.GetAttribute("title") == "确认信息。"))                                     {
                                            em.InvokeMember("click");
                                            break;
                                        }
                                    }
                                
                                });
                        });
                    th.Start();
                }
     
  • 相关阅读:
    【Java集合】试读LinkedList源码
    【Java集合】试读ArrayList源码
    类加载器ClassLoader的理解
    Spring中Bean的不同配置方式
    Spring中Bean的生命周期
    关于反射的一点理解
    Vector与ArrayList 的理解
    java多态的实现原理(JVM调用过程)(综合多篇文章,参考见文末)
    并发编程的模型分类(转载于https://link.zhihu.com/?target=http%3A//www.54tianzhisheng.cn/2018/02/28/Java-Memory-Model/)强烈推荐!
    Thread线程类
  • 原文地址:https://www.cnblogs.com/sung/p/2855624.html
Copyright © 2011-2022 走看看