2012-01-19 7 views
3

У меня есть кнопка на странице, которую нужно щелкнуть, чтобы перейти к следующей странице в последовательности, и мне было интересно, как это возможно с Python. Кнопка кажется сочетание запроса HTTP POST и Javascript, вот код для кнопки:Python - нажатие кнопки javascript

<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 функция() делать? В любом случае вы не можете сделать это с Python, но вам нужно сделать это с помощью javascript (с помощью setTimeout(), если вам нужна задержка). –

+0

@FabioBuda Видимо, вы можете! ;) – HarryCBurn

+0

Как вы получили код этой кнопки? Wireshark? –

ответ

5

Чтобы имитировать подачу формы, вы можете отправить тот же запрос POST, который ваш браузер отправит на сайт после нажатия кнопки отправки. Один из способов сделать это является использование urllib.urlencode для кодирования данных формы из словаря и urllib2.urlopen отправить запрос:

import urllib, urllib2 
form_data = urllib.urlencode({'target': <value>, 'fact': <value>, ...}) 
urllib2.urlopen("np2.phtml", form_data) 
Смежные вопросы