【问题标题】:ControlNotFoundError (ASP, Mechanize, Javascript, Python)ControlNotFoundError(ASP、Mechanize、Javascript、Python)
【发布时间】:2015-02-05 17:54:42
【问题描述】:

我收到来自服务器的以下响应

ctrlDateTime%24txtSpecifyFromDate=05%2F02%2F2015&
ctrlDateTime%24rgApplicable=rdoApplicableFor&
ctrlDateTime%24txtSpecifyToDate=05%2F02%2F2015&

我正在尝试

br["ctrlDateTime%24txtSpecifyFromDate"]="05%2F02%2F2015";
br["ctrlDateTime%24rgApplicable"]="rdoApplicableFor";
br["ctrlDateTime%24txtSpecifyToDate"]="05%2F02%2F2015";

如何修复 ControlnotfoundError?这是我的代码:

知道怎么解决吗?

import mechanize
import re

br = mechanize.Browser()
br.addheaders = [('User-agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0')]
response = br.open("http://marketinformation.natgrid.co.uk    /gas/frmDataItemExplorer.aspx")


br.select_form(nr=0)

br.set_all_readonly(False)
mnext = re.search("""<a id="lnkNext" href="javascript:__doPostBack('(.*?)','(.*?)')">XML""", html)

br["tvDataItem_ExpandState"]="cccccccceennncennccccccccc";
br["tvDataItem_SelectedNode"]="";
br["__EVENTTARGET"]="lbtnCSVDaily";
br["__EVENTARGUMENT"]="";
br["tvDataItem_PopulateLog"]="";
br["__VIEWSTATE"]="%2FwEP.....SNIP....%2F90SB9E%3D";
br["__VIEWSTATEGENERATOR"]="B2D04314";
br["__EVENTVALIDATION"]="%2FwEW...SNIP...uPceSw%3D%3D";
br["txtSearch"]="";
br["tvDataItemn11CheckBox"]="on";
br["tvDataItemn15CheckBox"]="on";
br["ctrlDateTime%24txtSpecifyFromDate"]="05%2F02%2F2015";
br["ctrlDateTime%24rgApplicable"]="rdoApplicableFor";
br["ctrlDateTime%24txtSpecifyToDate"]="05%2F02%2F2015";
br["btnViewData"]="View+Data+for+Data+Items";
br["hdnIsAddToList"]="";

response = br.submit()

print(response.read());

提前致谢。 P.

【问题讨论】:

  • 这分两步解决:1)我用'$'替换了%24; 2)一些参数需要一个真正的参数才能传递,一些参数需要传递为 ['',]

标签: python mechanize


【解决方案1】:

这分两步解决:1)我用'$'替换了%24; 2)有些参数需要一个真正的参数才能传递,有些需要传递为['',]

【讨论】:

    猜你喜欢
    • 2013-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-09
    • 2011-09-01
    • 2020-11-24
    • 1970-01-01
    相关资源
    最近更新 更多