2012-01-19 4 views
3

시퀀스의 다음 페이지로 이동하기 위해 클릭해야하는 페이지에 버튼이 있습니다. 파이썬에서 이것이 어떻게 가능한지 궁금합니다. 버튼은 HTTP POST 요청 및 자바 스크립트의 혼합 것 같다, 여기에 버튼의 코드는 다음과 같습니다파이썬 - 자바 스크립트 버튼 클릭

<FORM name="ff" action="nq2.phtml" method="post"> 
    <INPUT type="hidden" name="target" value="-1"> 
    <INPUT type="hidden" name="fact" value=""> 
    <INPUT type="hidden" name="parm" value=""> 
    <INPUT type="hidden" name="use_id" value="-1"> 
    <INPUT type="hidden" name="nxactor" value="1"> 
    <TD align="center" valign="top"> 
    <DIV class="pr"> 
    <A href="javascript:;" onClick="settarget(5); setch(ch5); return false;"> 

솔직히 어떻게 이런 일에 접근하는 아무 생각이없고 사람에 대한 통찰력이 있다면 궁금 해서요 내가 그 일을 어떻게 하느냐고.

+0

settarget() 함수는 무엇입니까 :이 작업을 수행하는 한 가지 방법은 사전에서 양식 데이터를 인코딩하는 urllib.urlencode를 사용 urllib2.urlopen 요청을 보내는 것입니다? 어쨌든 파이썬에서는 할 수 없지만 지연이 필요한 경우에는 setTimeout()을 사용하여 javascript로 처리해야합니다. –

+0

@FabioBuda 분명히 할 수 있습니다! ;) – HarryCBurn

+0

이 단추에 대한 코드를 어떻게 얻었습니까? 와이 샤크? –

답변

5

양식 제출을 시뮬레이트하기 위해 제출 단추를 클릭하면 브라우저가 사이트로 보낼 동일한 POST 요청을 전송할 수 있습니다.

import urllib, urllib2 
form_data = urllib.urlencode({'target': <value>, 'fact': <value>, ...}) 
urllib2.urlopen("np2.phtml", form_data)