当前位置: 首页 > 编程语言 > C#

如何使用Webkit浏览器点击链接?Share

时间:2023-04-10 22:03:25 C#

如何使用Webkit浏览器点击链接?我想在导航到网站后单击一个链接webKitBrowser1.Navigate("http://www.somesite.com");假设链接的id是lnkId,如何点击这个网站的链接呢?转到Google在VisualStudio自带的默认浏览器控件中,我可以使用以下代码执行此操作:=="lnkId"){el.InvokeMember("点击");当我使用WebkitDotNet控件时,上面的代码等效于什么?由于WebKit不提供Click()事件(有关详细信息,请参见此处),因此您不能按上述方式进行操作。但是一个小技巧可能与原始的winforms方式相同,像这样:="lnkId"){stringurlString=((Element)el).Attributes["href"].NodeValue;webKitBrowser1.Navigate(urlString);我在这里要做的是将WebKit.DOM.Node对象转换为其子类WebKit.DOM.Element以获取其属性。然后将href赋予NamedNodeMap,将属性作为NodeName,您可以轻松提取NodeValue,在本例中为目标url。然后您可以简单地调用WebKitBrowser实例上的Navigate(urlString)方法来复制点击事件。我不使用Windows,我所有的经验都是使用WebkitGTK。以下评论基于该经验。我不确定您使用的是哪个webkit.NET版本。看起来有多种实现。假设您使用的是Wasif提到的那个,您可以按照示例https://code.google.com/p/open-webkit-sharp/source/browse/JavaScriptExample/Form1.cs中的描述评估javascript。事实上,如果实现支持javascript执行,那么即使不是全部DOM操作,您也可以进行大部分操作。API函数通常与javascript函数相同,并且大多数时候在内部调用完全相同的函数。您的应用程序和JavaScript之间的通信可能并不那么具有挑战性,但如果您可以阅读警报消息,那么它也是可行的。看起来这个库确实支持警报处理机制。我在https://github.com/nhrdl/notesMD上写的一个工具将展示一些实现这种通信的例子,尽管它使用了一个GTK版本并且是用python编写的。顺便说一句,如果您知道元素的ID,那么Document.GetElementById将为您保存循环。以上是C#学习教程:如何使用Webkit浏览器点击链接?如果分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注——webKitBrowser1.StringByEvaluatingJavaScriptFromString("varinpt=document.createElement("input");inpt.setAttribute("类型”,“提交”);inpt.setAttribute(“id”,“坚果”);inpt.setAttribute(“类型”,“提交”);inpt.setAttribute(“名称”,“tmp”);inpt.setAttribute("value","tmp");varelement=document.getElementById("lnk");element.appendChild(inpt);");webKitBrowser1.StringByEvaluatingJavaScriptFromString("document.getElementById('nut').click();");本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: