【问题标题】:Click on one link in geckoWebBrowser in C#在 C# 中单击 geckoWebBrowser 中的一个链接
【发布时间】:2019-09-22 06:10:10
【问题描述】:

我想点击一页中的一个链接。

这是我的代码:

private void Button1_Click(object sender, EventArgs e)//GO
{
    if (!Xpcom.IsInitialized) Xpcom.Initialize("Firefox");
    geckoWebBrowser1.Navigate("http://www.tsetmc.com/loader.aspx?ParTree=151311&i=67126881188552864");    
}

我想点击一个链接:

<a href="#" class="violet" onclick="ii.ShowTab(6)">حقیقی-حقوقی</a>

有人可以帮帮我吗? 谢谢。

【问题讨论】:

    标签: c# web-crawler


    【解决方案1】:

    我刚刚查找了一个 Gecko 项目,我在其中单击了链接,虽然以下可能不是最适合您使用相同技术的最优雅方式:

    private void geckoWebBrowser1_DocumentCompleted(object sender, EventArgs e)
    {
        var elements = geckoWebBrowser1.Document.GetElementsByTagName("a");
        foreach (GeckoHtmlElement element in elements)
        {
            if (element.ClassName == "violet")
            {
                element.ScrollIntoView(false);
                element.Click();
            }
         }
    }
    

    我不认为ScrollIntoView 调用实际上是必需的,我只是这样做是因为它是一个动画按钮,我想看看它是否有效。但是您需要等到文档加载完毕后再点击,所以我将它放在DocumentCompleted 事件中,所以在Navigate 之前不要忘记添加:

    geckoWebBrowser1.DocumentCompleted += geckoWebBrowser1_DocumentCompleted;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-28
      • 1970-01-01
      • 2012-10-05
      • 2018-04-29
      • 2014-03-26
      • 1970-01-01
      • 2013-10-29
      • 1970-01-01
      相关资源
      最近更新 更多