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.DOM.NodeList elems = web.Document.GetElementsByTagName("a");
foreach(WebKit.DOM.Element ele in elems)
{
//Statements
}