【问题标题】:Invoke a tag javascript click function from Webclient从 Webclient 调用标签 javascript click 函数
【发布时间】:2012-12-10 18:14:47
【问题描述】:

我在 C# 4.0 中创建了一个网页抓取应用程序。我在此应用程序中使用 Web 客户端。

现在我在 A 标签点击事件中遇到问题。请看下面的代码

<a href="javascript:document.pagination.pageNumber.value=2;submitSearchForm('pagination');">2</a>

请看这张图片。

我尝试下载该页面中的 html。如何从 Webclient 执行此 href 代码。

请帮忙。

【问题讨论】:

  • 使用 WPF 的 WebBrowser 或使用 WebView 如果你正在开发现代应用程序,这相当容易,因为它们都有 InvokeScript,但我真的不认为这是可能的WebClient.

标签: c# .net httprequest webclient httpresponse


【解决方案1】:

您无法从 WebClient 执行 javascript。您可以模拟此类请求并从服务器获得所需的响应,但这需要一些逆向工程。

要了解如何首先从服务器获得所需的响应,您必须通过浏览器执行此操作并记录通过单击该链接生成的请求(为此,您可以使用 Fiddler Web 调试器)。比你必须从你的WebClient 重新创建这样的请求,也就是说 - 将所有必需的数据发送到正确格式化的服务器,连同 cookie 和正确的请求类型(GET 或 POST - 同步或异步)。

为什么不能使用 WebClient 执行 javascript 已经很好地描述了 here

您可以从 this 推导出如何创建类似于通过 javascript click 创建的请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 2017-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多