1
我想自動執行一個在我的服務器上使用Python在搜索欄中搜索關鍵詞的過程。但是,首先搜索返回免責聲明並且一旦接受,實際顯示結果。免責聲明網站如下:使用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')
但身體仍然不包含數據。我也嘗試機械化,結果相同。有沒有辦法做到這一點,沒有硒,只使用機械化或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;">
我可以問你爲什麼不想使用Selenium? – marcusshep
Selenium需要一個Firefox窗口(無論是在屏幕上還是無頭),兩者目前都不能在我有的Unix服務器上工作。所以我需要找到另一種方式。 – chizze