mechanize.browserモジュールを使用してスクリプトを作成しています。
問題の1つは、他のすべては問題ないということですが、submit()フォームを使用すると、機能しません。
だから私はいくつかの疑惑のソース部分が見つかりました。
htmlソースで私は次のように見つかりました。
私は考えています、loginCheck(this)はフォームを送信するときに問題を引き起こします。
しかし、mechanizeモジュールでこの種のjavascript関数を処理する方法、それで私はできます
フォームを正常に送信し、結果を受け取ることができますか?
以下は、loginCheck(this)javascript関数に関連するwebsourceスニペットです。
function init(){
FRMLOGIN.ID.focus();
}
function loginCheck(f){
if(chkNull(f.ID, "아이디를"))
return false;
if(chkNull(f.PWD, "패스워드를"))
return false;
//f.target = "ifrmLoginHidden";
f.action = (f.SECCHK.checked) ? "https://user.buddybuddy.co.kr/Login/Login.asp" : "http://user.buddybuddy.co.kr/Login/Login.asp";
}
mechanizeがjavascriptをサポートしていないことを知っているので、progammatically loginCheck()を作成したい
Pythonの機械化コードで機能します。
誰かが私がこのjavascript関数をPythonで機械化するのを手伝ってくれませんか
翻訳されたコード?
だから正しくウェブサイトでログインできますか?
よろしくお願いします!
# -*- coding: cp949-*-
import sys,os
import mechanize, urllib
import cookielib
from BeautifulSoup import BeautifulSoup,BeautifulStoneSoup,Tag
import datetime, time, socket
import re,sys,os,mechanize,urllib,time
br = mechanize.Browser()
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)
br.set_handle_robots(False)
# Follows refresh 0 but not hangs on refresh > 0
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
# Want debugging messages?
br.set_debug_http(True)
br.set_debug_redirects(True)
br.set_debug_responses(True)
# User-Agent (this is cheating, ok?)
br.addheaders = [('User-agent', 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.6')]
br.open('http://user.buddybuddy.co.kr/Login/LoginForm.asp?URL=')
html = br.response().read()
print html
br.select_form(name='FRMLOGIN')
print br.viewing_html()
br.form['ID']='psh7943'
br.form['PWD']='qkrthgus'
br.submit()
print br.response().read()
誰かが私を助けることができれば..大いに感謝します!!