在C#应用程序中,我想打开一个url并下载一个pdf。
当浏览器点击这个url时,页面很快就会加载并开始我认为是ajax调用。几秒钟后,浏览器将显示下载提示和pdf文件。
我已尝试通过WebClient打开此url。我返回的流不是pdf文件,而是页面的实际html。
如何检测pdf文件是否已加载并下载?
发布于 2015-02-11 07:04:43
如果我没记错的话,WebClient对JavaScript一无所知,它根本不会运行AJAX代码,它只是获取页面的超文本标记语言,并将其留在那里。由于PDF的URL可能是由Javascript解析的,或者PDF是按需生成的,甚至是通过Javascript流式传输的,所以您确实需要对活动内容的支持。
这看起来像是硒对我们有好处。http://www.seleniumhq.org/它将生成一个实际的浏览器并引导该浏览器访问您需要的内容,或者运行PhantomJS headless浏览器并获取您想要的内容。
这可能有点夸张,更有见识的人可能会有更好的答案,但这就是我在一个需要从许多不同网站获取PDF、CSV和其他文件的应用程序上使用的。
https://stackoverflow.com/questions/28443481
复制相似问题