繁体   English   中英

C#JavaScript按标签和属性单击按钮

[英]C# javascript click button by tag and attribute

我在让程序单击按钮时遇到了一些麻烦:

 <a class="button_recruit" style="letter-spacing: -1px" href="/myrecruitlink" data-executing="0">Recruit</a>      

那是我试图单击的按钮,但是当我为其添加代码时,它什么也没做,这是C#的新手,正试图学习它。 因此,如果有人指出我在做什么错,我将非常感激。

这是程序代码:

 namespace clean_test
{
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        web.ScriptErrorsSuppressed = true;
        Registry.SetValue("HKEY_CURRENT_USER\\AppEvents\\Schemes\\Apps\\Explorer\\Navigating\\.Current", "", "NULL");
        web.Navigate("http://www.mywebsite.com");
    }

    private void recruit_Click(object sender, EventArgs e)
    {
        HtmlElementCollection elems = web.Document.GetElementsByTagName("a");
        foreach (HtmlElement elem in elems)
        {
            String value = elem.GetAttribute("value");
            if (value != null && value.Length != 0 && value.Equals("Recruit"))
            {
                recruit.PerformClick();
            }
        }
    }


  }
}    

你为什么不去客户端呢?

<script type="text/javascript">
function NewFunction(){
//do something here
}
</script>

并更改为具有OnClientClick属性的按钮

<asp:Button ID="Button1" runat="server" Text="Button" CssClass="button_recruit" style="letter-spacing: -1px"  OnClientClick="recruit_Click"  />

或将onclick添加到您必须触发javascript方法的现有元素。

 <a class="button_recruit" style="letter-spacing: -1px" href="/myrecruitlink" data-executing="0" onclick=""NewFunction();">Recruit</a>   

我认为其他人不理解您的问题。 您需要以下行:

private void recruit_Click(object sender, EventArgs e)
{
     HtmlElementCollection elems = web.Document.GetElementsByTagName("a");
     foreach (HtmlElement elem in elems)
     {
         String value = elem.GetAttribute("value");

         //you can use elem.InnerText.Equals("Recruit") too, if value == null.
         if (value != null && value.Length != 0 && value.Equals("Recruit"))
         {
             elem.InvokeMember("click");
         }
     }
 }

希望我能帮助您!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM