C# 如何单击网页C上的链接#

C# 如何单击网页C上的链接#,c#,C#,以下是网页上的代码: <div id="dl_link" style="display: block;"> <a href="/get?video_id=KMU0tzLwhbE&h=3713fa1cb8c500381a1edaaf80a06ab5"> <b>Download</b> 我完全不知道如何完成最后一步。请提供帮助。由于您的链接只是一个普通链接,没有附加JS代码,因此您可以使用webBrowser1.Navigate(downlo

以下是网页上的代码:

<div id="dl_link" style="display: block;">
<a href="/get?video_id=KMU0tzLwhbE&h=3713fa1cb8c500381a1edaaf80a06ab5">
<b>Download</b>

我完全不知道如何完成最后一步。请提供帮助。

由于您的链接只是一个普通链接,没有附加JS代码,因此您可以使用
webBrowser1.Navigate(downloadlink.GetAttribute(“href”)


编辑:要获取
下载链接
请使用
webBrowser1.Document.GetElementById(“dl\u-link”)。所有[0]
如果您不太关心性能,您可以使用

using (var browser = new IE("http://stackoverflow.com")){
    var link = browser.Divs.First(Find.ById("dl_link")).Links.First();
    link.Click(;
}

将HTTP GET发送到底层URL这是某种XY问题吗?一旦将其呈现给客户端,服务器端ASP.Net代码就无法单击该链接。你想达到什么目的?为什么这个问题被否决了?这是一个关于
System.Windows.Forms.WebBrowser
(或者至少我认为是这样)的有效问题,与ASP.NET无关。我同意-这是一个完全有效和有用的问题。可能是链接中动态附加了一些javascript事件处理程序,从页面源代码看不明显,在这种情况下,此解决方案可能会导致问题。也许最好使用HtmlElement.RaiseEvent(),但我从来没有这样做过,所以我不想作为答案发布:o)如果在外部脚本的链接集上有任何
onclick
处理程序,
InvokeMember(“click”)
RaiseEvent
会起作用,但Andrew写道这不起作用。在任何情况下,查看后RaiseEvent()也不会工作。它只会导致调用javascript中定义的事件处理程序-非常类似于InvokeMember(),因此您的答案是最好的。
using (var browser = new IE("http://stackoverflow.com")){
    var link = browser.Divs.First(Find.ById("dl_link")).Links.First();
    link.Click(;
}