C # программно нажимает на div в веб-браузере geckofx? - PullRequest
0 голосов
/ 01 сентября 2018

Хотите использовать 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 голосов
/ 01 сентября 2018

Эй, вот как бы я это сделал со встроенным браузером, поэтому я не могу сильно отличаться, и я создал бота, который помогает мне находить элементы, если вы хотите проверить это 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");
            }
        }
    }
...