我正在寫腳本自動登錄到本地域的網站,並希望填寫一些日常的基礎數據。該網站的第一頁是登錄頁面。這是登錄按鈕的html代碼:如何點擊按鈕,如果JavaScript的Onclick()與機械化
<td class="leftbdr" nowrap><input name="loginButton" type="submit"
class="formStylebuttonact" value='Login' title='Login'
onClick="return checkForNullInLogin(this.form)"></td>
查看源代碼checkForNullInLogin()
我寫了這個代碼:
import urllib
import re
import mechanize
from base64 import b64encode
import cookielib
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
# Browser options
br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
#local website
url = 'http://go.cabs'
username='user'
password='pass'
br= mechanize.Browser()
b64login = b64encode('%s:%s' % (username, password))
br.set_handle_robots(False)
br.addheaders = [('User-agent', 'Firefox')]
br = mechanize.Browser()
br.addheaders.append(
('Authorization', 'Basic %s' % b64login)
)
response = br.open("http://go/cabs");
#print response.code
#print response.geturl()
br.select_form("login")
br.form['j_username'] = 'usr'
br.form['j_password'] = 'pass'
br.form['domain'] = ['1']
#choosing AP domain
#print br.form['domain']
#print br.form['j_username']
#print br.form['j_password']
#print br.form['j_username'] + "is and" + br.form['j_password']
pag2 = br.submit()
html2=pag2.read()
f = open("mechanize_results2.html", "w")
f.write(html2)
f.close();
#print response.read()
我得到的頁面是與錯誤相同的登錄頁面:
please fill the username and password.
有什麼辦法解決這個問題或者用機械化它不能做到嗎?如果機械化不可能,請告訴我其他任何方式(任何其他語言)。