如何让C#的WEBBROWSER内的链接点击后弹出默认浏览器,而不是IE。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让C#的WEBBROWSER内的链接点击后弹出默认浏览器,而不是IE。相关的知识,希望对你有一定的参考价值。

我用c#做了一个免费软件,窗体上放置了一个WebBrowser控件,里面加载我的广告页面,用户点击广告页面的链接后,会弹出一个浏览器。我发现系统只会弹出IE,我希望的是用户点击后,弹出他默认浏览器,比如他设置了火狐为默认浏览器,那么就应该弹出火狐。

参考技术A webbrowser用的是IE内核 参考技术B 汗,取消事件
e.cancle=true;,不是false,是确定取消。
参考技术C 本身就是启动系统默认的浏览器啊

我如何在 webBrowser 中使用 c# 执行点击事件

【中文标题】我如何在 webBrowser 中使用 c# 执行点击事件【英文标题】:how i do perform click event using c# in webBrowser 【发布时间】:2018-09-01 10:29:18 【问题描述】:

如何在 webBrowser 中使用 c# 执行点击事件。

这个命令在c#中不起作用,我不知道为什么。

webBrowser1.Document.InvokeScript("document.getElementsByName(\\"submitAddressButton\\")[0].click()");

但是, 当我在网络控制台中尝试时。似乎该命令有效。

document.getElementsByName("submitAddressButton")[0].click();

我在c#中使用getElementByName,因为HTML元素目标中没有ID。

以下是 HTML 片段:

    <form name="addressSelectForm" action="/online_customers/page/manageaddress/site_qualification/
6d5b51984c1b4a73aaf722f01474a256/select_address?submitToken=0980629f4dd64f1d9e72b05e16281d9b" method="post">

<span style="display:none">LOCXXXXX51</span><input type="submit" class="link-button" name="submitAddressButton" 
value="LOCXXXXX51">
<input type="hidden" name="fsaId" value="">

</form>

谢谢 鸡骨

【问题讨论】:

【参考方案1】:
HtmlElementCollection d0cument = homeBrowser.Document.GetElementsByTagName("button");
            foreach (HtmlElement link in d0cument)
            

                String class2 = link.InnerText;
                if (class2 == "Login")
                
                    link.InvokeMember("click");
                    logincheck.Enabled = true;
                
            

我这样使用是因为 homeBrowser 有很多按钮

【讨论】:

以上是关于如何让C#的WEBBROWSER内的链接点击后弹出默认浏览器,而不是IE。的主要内容,如果未能解决你的问题,请参考以下文章

c# webBrowser如何获取弹出提示框内容并模拟点击?

Unity,NGUI如何像GUI一样,点击按钮后弹出一个窗体呢

模拟链接点击webbrowser控件vb.net

Unity,NGUI如何像GUI一样,点击按钮后弹出一个窗体呢

JAVA GUI问题。如何触动按钮后弹出文件浏览器和文件名选择框,选择保存目录?

我如何在 webBrowser 中使用 c# 执行点击事件