代码之家  ›  专栏  ›  技术社区  ›  Neflux

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

  •  1
  • Neflux  · 技术社区  · 12 年前

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

    WebClient.DownloadString(url);

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

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

    我的问题是:我如何将这些混合到:

    1. 按下按钮(一次或多次,id保持不变)。
    2. 下载更新的源代码(单击按钮后)。

    P.S.你可以猜到这个按钮是一个加载新元素的“查看更多”按钮,并且url始终保持不变,所以没有第2页。这就是我有问题的原因。

    附笔。 This 看起来是我的问题,但在我的情况下,它是同一页,而不是新窗口

    1 回复  |  直到 12 年前
        1
  •  1
  •   User 12345678    12 年前

    让我告诉你,使用 WebBrowser WebClient 像这样结合起来。这个 控件 不是 网络客户端 或者类似的东西 彻底地 它们是完全不同的。

    假设您想使用 控件 ,可以使用 控件 组件如下:

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