GeckoFX从c#调用每个元素的Javascript

时间:2015-06-02 06:24:11

标签: javascript c# webbrowser-control geckofx

Google为每个搜索结果(超链接)添加了一个javascript方法。 从谷歌搜索任何关键字,右键单击链接,复制链接位置或链接地址,或只是鼠标按下链接,它将显示完整的URL。

我需要模拟c#中的onmousedown来复制完整的链接。

这就是Google在HTML中呈现的内容。

   <a href="http://www.canvaswallartprints.com.au/" onmousedown="return rwt(this,'','','','2','AFQjCNE8fb_L5QLlY3a6lRhDbM2ZSp_UsA','','0CD4QFjAB','','',event)">Canvas Wall Art Prints » Products</a>

此链接显示在鼠标按下:

http://url/?sa=t&rct=j&q=&esrc=s&source=webhp&cd=1&cad=rja&uact=8&ved=0CDkQFjAA&url=http%3A%2F%2Fwww.canvaswallartprints.com.au%2Fproduct%2Fbonne-nuit%2F&ei=iQJtVZaBCsj8UKDqgMgE&usg=AFQjCNEAuSEgTR2_eYtjFFcXfNEHi8VVeA&bvm=bv.94455598,d.bGQ

有很多答案告诉你如何添加事件但是在上面的例子中,javascript函数已经是文档的一部分了,我只需要调用它。

1 个答案:

答案 0 :(得分:0)

我正在分享我的解决方法,以帮助其他人遇到同样的问题。 使用GeckoFX我无法调用JavaScript方法,因此我不得不将此部分移动到WebBrowser控件。迭代HtmlElementCollection以达到所需的超链接,并使用HtmlElement InvokeMember("onmousedown")调用所需的JavaScript函数。