Webkit和C#修复脚本

本文关键字:修复脚本 Webkit | 更新日期: 2023-09-27 18:26:45

好吧,我用C#做了一个简单的应用程序,它运行良好,但很多事情都不正常,因为它需要我点击javascript链接。所以我开始了另一个项目,这次我使用了webkit,除了一个项目之外,切换后一切都很完美。我需要一些帮助来修复这个,以便使用webkit,因为它是我的应用程序的主要功能。我以前从未使用过webkit,我不知道从哪里开始。

        private void timer2_Tick(object sender, EventArgs e)
    {
        HtmlElementCollection elems = web.Document.GetElementsByTagName("a");
        foreach (HtmlElement elem in elems)
        {
            String value = elem.GetAttribute("value");
            if (elem.InnerText == "Recruit")
            {
                elem.InvokeMember("click");
            }
        }
    }    

在切换之前,这是有效的,现在我有一个错误:

Error   3   Cannot implicitly convert type 'WebKit.DOM.NodeList' to 'System.Windows.Forms.HtmlElementCollection'    C:'Users'Mass'documents'visual studio 2013'Projects'WindowsFormsApplication1'WindowsFormsApplication1'Form1.cs  48  43  WindowsFormsApplication1    

如有任何帮助,我们将不胜感激。此外,我需要使用GetElementsByTagName保持原样,我无法切换到GetElementbyId。

编辑:对于任何可能觉得这很有帮助的人,最后一组错误我不得不与innertext有关。在阅读了webkit文档后,我发现它不使用内部文本,而是使用TextContent。

 //Looks for the value of the tag
            String value = ele.GetAttribute("value");
            //If innertext = value perform click
            if (ele.TextContent == "Recruit")
            {
                //invoke a click here
            }   

Webkit和C#修复脚本

如下更改代码并进行必要的更改

WebKit.DOM.NodeList elems = web.Document.GetElementsByTagName("a‌​");
foreach(WebKit.DOM.Element ele in elems)
{
  //Statements 
}