我想自动化一个在我的服务器上使用 Python 在搜索栏中搜索关键字的过程。但是,搜索首先会返回免责声明,一旦被接受,结果就会实际显示出来。免责声明网站如下:
http://emma.msrb.org/Disclaimer.aspx
我已经检查了该网站,这是我的初步代码:
browser = RoboBrowser(history=True)
browser.open(tradeinfo)
# tradeinfo = link to search result, i.e. http://emma.msrb.org/SecurityDetails/TradeActivity/ABF6AA894523779EDC8B751EB99959934
form = browser.get_forms()[0]
print form
<RoboForm __VIEWSTATE=somevalue, __VIEWSTATEGENERATOR=somevalue, __EVENTVALIDATION=somevalue,
ctl00$Masthead$UserAcct1$NextAction=,
ctl00$Masthead$UserAcct1$isPilotUser=False, ctl00$Masthead$searchTextBox=Enter CUSIP or Name,
ctl00$Masthead$headerSearchButton=,
ctl00$mainContentArea$disclaimerContent$yesButton=,
ctl00$mainContentArea$disclaimerContent$noButton=>
# Somevalue represents a string of characters (deleted for visual clarity)
然后我执行以下操作:
form['ctl00$mainContentArea$disclaimerContent$yesButton'].value ='Yes'
browser.submit_form(form)
browser.select('body')
但正文仍然不包含数据。我也尝试过机械化,结果相同。有没有办法在没有 Selenium 的情况下做到这一点,只使用 mechanize 或 RoboBrowser?如果是这样,我在我的脚本中缺少什么?
PS:“接受”按钮的html脚本:
<input type="image"
name="ctl00$mainContentArea$disclaimerContent$yesButton"
id="ctl00_mainContentArea_disclaimerContent_yesButton"
data-jquerymobilestyle="false"
src="images/btnAccept.gif" alt="Accept" style="border-width:0px;">