C#以编程方式在geckofx网络浏览器中单击div?

时间:2018-08-31 22:16:38

标签: javascript c# gecko

想使用GeckoWebBrowser模拟鼠标点击

Xpcom.Initialize("Firefox");
geckoWebBrowser1.Navigate("https://www.abc.aaa");
geckoWebBrowser1.Navigate(url);
textBox1.Text = geckoWebBrowser1.Document.Body.OuterHtml;

点击即可生效

<div id="btnA" class="menuA" onclick="ChangeType('A')"></div>

尝试了三种方法,但都失败了

GeckoWebBrowser1.Document.GetElementsByTagName("div");?
GeckoWebBrowser1.Document.GetElementById("btnA")).Click();    
GeckoWebBrowser1.Document.GetElementById("btnA").SetAttribute("ChangeType","A");

麻烦大师指南,谢谢

1 个答案:

答案 0 :(得分:1)

嘿,这是我将如何使用内置浏览器来实现的功能,因此也没有太大的不同。如果您想查看http://devbeebee.com/c-browser-element-bot/

,我也会构建一个机器人来帮助自己查找元素
void Find_Element()
    {
        string x1 = "<div";
        string x2 = "btnA";

        var ele = ElementBrowser.Document.GetElementsByTagName("div");
        foreach (HtmlElement link in ele)
        {
            string item = link.OuterHtml.ToString().Trim();
            if (item.StartsWith(x1) && item.Contains(x2))
            {
                link.InvokeMember("click");
            }
        }
    }