【问题标题】:Updating viewstate web scraping更新 viewstate 网页抓取
【发布时间】:2017-05-23 14:26:09
【问题描述】:

试图抓取网页。嵌入的隐藏控件可以选择返回哪一天的数据。我修改了值,修改了文本,修改了正在发送的 POST 数据,都无济于事。看来,返回的 VIEWSTATE 数据控制着选定的日期。

我尝试更改文本框中的日期值并调用了提交,但这不起作用。

有没有办法找出调用什么 java 脚本来模拟对控件的单击,以便更新 VIEWSTATE?

我正在使用 c# 和 WebBrowser 控件。我尝试了 WebRequest / 修改后的 POST 方法,但没有成功。

这是创建日期选择器的代码

Sys.Application.add_init(function () {
    $create(Infragistics.Web.UI.WebDatePicker, { "id": 
    "ctl00_WebSplitter1_tmpl1_ContentPlaceHolder1_dtePickerBegin", "name": 
    "ctl00_WebSplitter1_tmpl1_ContentPlaceHolder1_dtePickerBegin", "props": 
    [[[], { "c": { "prop1": "[\"2017-4-23-0-0-0-0,,\",\"04/08/03\",\"*0322\",\"04/08/03\",29,0,\"_ig_def_dp_cal\",\"\",\"500,3,300,3,0,200,3,100,3,0\
    "]", 
    "prop": "1,64,,0,1,1,,,0,,,,,6,,200,,2038:2040:2032,igte_NautilusFocus,igte_NautilusHover,igte_NautilusNullText,igte_NautilusInnerFocus,igte_NautilusInnerHover", "uid": "ctl00$WebSplitter1$tmpl1$ContentPlaceHolder1$dtePickerBegin", "buts": "igte_NautilusButtonHover,igte_NautilusButtonPressed,igte_NautilusButtonDisabled,igte_NautilusButtonFocus,../ig_res/Nautilus/images/igte_customHover.gif,../ig_res/Nautilus/images/igte_customPress.gif,../ig_res/Nautilus/images/igte_customDisable.gif," } }], , , []] }, null, null, $get("ctl00_WebSplitter1_tmpl1_ContentPlaceHolder1_dtePickerBegin"));
    });

【问题讨论】:

    标签: c# html web-scraping viewstate


    【解决方案1】:

    下载了所有的.axd文件并搜索,直到我找到了这个控件的set_text方法。

    然后:

    string szJava = string.Empty;
    szJava = "a = $find(\"ctl00_WebSplitter1_tmpl1_ContentPlaceHolder1_dtePickerBegin\"); a.set_text(\"5/20/2017\");";
    object a = wb.Document.InvokeScript("eval", new object[] { szJava });
    if (webDatePicker != null)
        webDatePicker.InvokeMember("submit");
    
    HtmlElement button = wb.Document.GetElementById("ctl00$WebSplitter1$tmpl1$ContentPlaceHolder1$HeaderBTN1$btnRetrieve");
    if (button != null)
    {
         button.InvokeMember("click");
    }
    

    【讨论】:

      猜你喜欢
      • 2019-07-15
      • 2020-03-19
      • 2020-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-01
      相关资源
      最近更新 更多