webbrowser 检测ajax,控制台获取网页AJAX的返回数据,用的WebBroWser
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
至于HttpRequest大家都知道,他不能获取网页的Ajax异步数据,代码如下:
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Collections;
using System.Threading;
namespace ConsoleApplication1
{
public class AsynWebRequest
{
public Uri URL { get; set; }
private WebBrowser browser;
public AsynWebRequest(string url)
{
this.URL = new Uri(url);
}
public void Navigate()
{
if (this.URL == null)
throw new Exception("URL cannot be empty");
this.browser = new WebBrowser();
this.browser.ScriptErrorsSuppressed = true;
this.browser.DocumentCompleted += (s, e) =>
{
if (e.Url.Equals(this.browser.Url))
{
RequestCompletedEventArgs arg = new RequestCompletedEventArgs
{
Document = this.browser.Document
};
RequestCompleted(s, arg);
}
};
this.browser.Url = this.URL;
}
/// /// 获取具有指定标识符的节点内容///
/// 元素的id或name属性
///
public string this[string identifier]
{
get
{
if (this.RequestCompleted == null)
{
throw new Exception("The document has not been completely loaded");
}
return this.browser.Document.GetElementById(identifier).InnerText;
}
}
public delegate void RequestCompletedEventHandler(object sender, RequestCompletedEventArgs e);
public event RequestCompletedEventHandler RequestCompleted;
public class RequestCompletedEventArgs
{
public HtmlDocument Document { get; set; }
}
[STAThread]
static void Main(string[] args)
{
var awr = new AsynWebRequest("http://stockhtm.finance.qq.com/sstock/ggcx/300101.shtml");
awr.RequestCompleted += (s, a) =>
{
MessageBox.Show(a.Document.GetElementById("main-4").InnerText); MessageBox.Show(awr["main-4"]);
};
awr.Navigate();
}
}
}
webbrowser 检测ajax,控制台获取网页AJAX的返回数据,用的WebBroWser相关推荐
- 解决paramiko获取远程脚本延时返回数据的问题
解决paramiko获取远程脚本延时返回数据的问题 参考文章: (1)解决paramiko获取远程脚本延时返回数据的问题 (2)https://www.cnblogs.com/liushi-Oscar ...
- java数据返回到界面,java后台获取网页ajax数据和返回数据简单源码
呼唤远方 1新建一个servlet xml中相应配置(一般自动)2创建service方法3接受参数,做操作,返回数据比如页面发送ajax请求到SomeServlet$.post("SomeS ...
- ajax前台获取json,ajax与json 获取数据并在前台使用简单实例
ajax与json 获取数据并在前台使用简单实例 发布于 2017-05-18 14:05:38 | 63 次阅读 | 评论: 0 | 来源: 网友投递 AjaxAJAX即"Asynchro ...
- Ajax怎么获取天气,Ajax获取全国天气预报的API数据
这次给大家带来Ajax获取全国天气预报的API数据,Ajax获取全国天气预报API数据的注意事项有哪些,下面就是实战案例,一起来看一下. 预览图(比较简单粗糙) 聚合数据全国天气预报接口:https: ...
- python autoit获取网页ajax数据_WebDriver + Python 调用AutoIt例子(实现139邮箱写信页的附件上传)...
PS: 前提 1. 安装好webdriver下python实现的环境 2. 安装好Autoit(默认安装就可以了) 3. 另外需要一个139邮箱账号,脚本运行时上传的图片在附件里面 #coding:c ...
- .ajax get获取案例,$.ajax GET请求案例
前端JS代码: $.ajax({ type: "GET", url: getRootPath() + "/getDatas.do", contentType: ...
- ajax实时获取股票信息,Ajax学习笔记03-模拟动态显示股票信息动态变化的小例子...
模拟实现一个动态显示股票价格的经典例子: 实体类 :Stock.java 由于篇幅问题,此处省略了get Set 方法 /** * Created by IntelliJ IDEA. * User: ...
- 如何使用表格自动获取网页上的表格数据,并自动刷新
简介 本文介绍了如何通过Excel获取每日的基金净值,并自动刷新,方便各个平台的基金进行统计.这里假设从平台1在2019年8月20日购买编号为000001基金100元,从平台2在2019年8月19日购 ...
- ajax获取网页新闻,基于Ajax的新闻网页动态数据的抓取方法及系统
主权项: 1.基于Ajax的新闻网页动态数据的抓取方法,其特征是,包括如下步骤:步骤(101):建立新闻网页爬取内容数据库,设置新闻网页爬取内容数据库的编码方式:获得待抓取新闻网页的新闻列表页面的UR ...
最新文章
- 脚踏开关 FOOTSwitch
- java 什么是哨兵_Java中的Redis 哨兵高可用性
- 《系统集成项目管理工程师》必背100个知识点-15项目章程ITTO
- 从菜鸟成为数据科学家的养成方案
- modelsim(1):经常使用的测试设计的结构
- Docker+Nginx部署Angular
- Python 装饰器理解
- 一些js/css动画 mark
- HBase之HFile索引机制
- 金融数据分析与挖掘实战1.7-1.8
- android 将bitmap存为 bmp格式图片大小,把bitmap保存成 BMP的格式 并且位深度为1
- 检测用户浏览器是否支持cookie
- 如何将nupkg离线安装包安装到VS2017、9
- 查看opencv版本信息
- 因特尔显卡自定义分辨率_Win10创建自定义分辨率的方法教程
- Android SeekBar 自定义 背景图片 和 滑块图片
- 黑猴子的家:Linux VIM 编辑器
- 利用 IP 扩展访问列表实现应用服务的访问限制
- 你的好帮手,优质chatgpt镜像网站
- [分享]蓝屏代码查询及代码分析