Webbrowser试图解析一些使用ajax加载数据的页面

本文关键字:加载 ajax 数据 Webbrowser | 更新日期: 2023-09-27 18:28:23

我正在尝试解析该网站的一些图像。。我在其他页面使用htmlagilitypack但是这个页面使用ajax加载图像

这就是网页的工作原理。

  1. 有一个不包含任何内容的div标记
  2. 在div的正下方,他们在cdatathing中有一个脚本标记

    <script type="text/javscript> //<
    ![CDATA[ (function(){
    ajax POST request to a 'aaaaaa.js' file with the id parameter and if the request is success, it updates the blank div my changing the innerHTML value.
    })(); //]]> 
    </script>
    

所以。。我尝试的是。。。

  1. 使用web浏览器控件导航到该页面。它加载图像很好,但当我尝试获取"DocumentText"的值时它只显示空白的div标记。。。

  2. 尝试使用webrequest和webresponse从ajax POST直接获取数据。。但是可能是因为它的.js文件。。它不起作用。。我只收到http错误。

  3. 右键浏览到带有参数的js文件。给我一个错误页面

  4. 浏览我试图解析的页面,然后导航到.js页面。(我想当我浏览原始页面时,浏览器会缓存一些东西。但我不知道它是什么。)我确实得到了json响应!我可以使用这些数据。。但是由于web浏览器控件使用IE。它只是问我是否要下载响应的js文件。

Webbrowser试图解析一些使用ajax加载数据的页面

下面是我在评论中提到的使用DOM的方法。

另一种方法可能是使用FiddlerCore(http://www.fiddler2.com/fiddler/Core/)

或者让ajax调用自己。您必须确保您尊重cookie、重定向和所有标头。