好的,我在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
}
答案 0 :(得分:0)
按如下所示更改您的代码并进行必要的更改
WebKit.DOM.NodeList elems = web.Document.GetElementsByTagName("a");
foreach(WebKit.DOM.Element ele in elems)
{
//Statements
}