怎么自动引发网页下的选择按钮
如何自动引发网页上的选择按钮?
有一个网页:
http://stock.finance.sina.com.cn/hkstock/finance/01398.html
网页中每一张报表右边都有一个“报表类型”的下拉选择按钮
现在想通过程序(用webbrowser控件或其他什么的)自动引发“报表类型”的下拉选择按钮,
选择值为“年报”的数据,然后再将年报的数据抓取出来;抓取的程序已经有了,现在就是不知道该该怎么自动引发这些按钮
(注意,这个问题和翻页的问题不同,翻页可通过分析网址的规律来解决,但是这个网页里选择了报表类型后,网页上的数据变了,但是网址超链接却没有任何变化)
恳请各位高手赐教呀
------解决方案--------------------
webbroswer
有一个网页:
http://stock.finance.sina.com.cn/hkstock/finance/01398.html
网页中每一张报表右边都有一个“报表类型”的下拉选择按钮
现在想通过程序(用webbrowser控件或其他什么的)自动引发“报表类型”的下拉选择按钮,
选择值为“年报”的数据,然后再将年报的数据抓取出来;抓取的程序已经有了,现在就是不知道该该怎么自动引发这些按钮
- C# code
<em class="rt">报表类型:<select class="fgrey" style="width:100px;" interface="getFinanceStandardForjs?symbol=$symbol&financeStanderd=" table="tableGetFinanceStandard" onchange="selectData(this);"> <option value="all" >全部</option> <option value="zero" >年报</option> <option value="1" >中报</option> <option value="2" >一季报</option> <option value="3" >三季报</option> </select></em>
(注意,这个问题和翻页的问题不同,翻页可通过分析网址的规律来解决,但是这个网页里选择了报表类型后,网页上的数据变了,但是网址超链接却没有任何变化)
恳请各位高手赐教呀
------解决方案--------------------
webbroswer
- C# code
foreach (HtmlElement he in webBrowser1.Document.All) { if (找到该下拉框) { he.InvokeMember("onchange");//找到下拉框,模拟事件 } }
------解决方案--------------------
我估计数据已经传过来了,你在网页中找到你需要的数据,然后抓
------解决方案--------------------
http://www.google.com.hk/search?q=asp%2Cnet+getpostbackreffrence&rls=com.microsoft:en-US:IE-Address&ie=UTF-8&oe=UTF-8&sourceid=ie7#q=asp.net+getpostbackreference&hl=zh-CN&newwindow=1&safe=strict&rls=com.microsoft:en-US:IE-Address&prmd=imvnsfd&source=lnt&tbs=lr:lang_1zh-CN%7Clang_1zh-TW&lr=lang_zh-CN%7Clang_zh-TW&sa=X&ei=1U8uUM_LD6eTiQealYHICA&ved=0CEkQpwUoAQ&bav=on.2,or.r_gc.r_pw.&fp=57c60ed584195686&biw=1440&bih=844
------解决方案--------------------
网址的链接没有变化,可能是因为这个http request是一个post请求,url没有变,但是post的数据变了。
其实用JS也可以模拟web页面上按钮的点击的,只是个建议。