如何在模拟按钮点击后下载网站的源代码?

时间:2014-07-21 21:01:50

标签: c# .net browser webclient

使用WebClient,我可以下载源代码。

  

WebClient.DownloadString(URL);

使用WebBrowser,我可以模拟鼠标点击,通过Id获取HTML元素并调用它。

  

WebBrowser.Document.GetElementById( “提交”)InvokeMember( “点击”);

我的问题是:我如何将它们混合到:

  1. 按下按钮(一次或多次,ID保持不变)。
  2. 下载更新的源代码(点击按钮后)。
  3. P.S。你可以猜到按钮是一个“查看更多”按钮,可以加载新元素,并且网址始终保持不变,没有第2页。这就是我遇到问题的原因。

    P.S。 This看起来像我的问题,但就我而言,它是同一页面,而不是新窗口

1 个答案:

答案 0 :(得分:1)

让我告诉你,将WebBrowserWebClient结合使用是没有意义的。 WebBrowser不是WebClient或类似内容的抽象,它们完全不同,它们是完全分开的。

假设您想使用WebBrowser来解决此问题,可以使用WebBrowser组件下载页面源代码,如下所示:

webBrowser1.Document.GetElementById("commit").InvokeMember("click");
webBrowser1.DocumentCompleted += (o, args) =>
{
    string pageSource = webBrowser1.DocumentText;
};