最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Python - clicking a javascript button - Stack Overflow

programmeradmin2浏览0评论

I have a button on a page that needs to be clicked for me to move on to the next page in a sequence, and I was wondering how this is possible with Python. The button seems to be the mix of an HTTP POST request and Javascript, here is the code for the button:

<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;">

I honestly have no idea how to approach something like this and was wondering if anyone had some insight about how I would go about doing it.

I have a button on a page that needs to be clicked for me to move on to the next page in a sequence, and I was wondering how this is possible with Python. The button seems to be the mix of an HTTP POST request and Javascript, here is the code for the button:

<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;">

I honestly have no idea how to approach something like this and was wondering if anyone had some insight about how I would go about doing it.

Share Improve this question edited Jan 19, 2012 at 7:19 jcollado 40.4k9 gold badges107 silver badges137 bronze badges asked Jan 19, 2012 at 7:02 Dan DoeDan Doe 1,1663 gold badges14 silver badges25 bronze badges 3
  • What does settarget() function do? Anyway you can't do it with Python but you have to do it with javascript (with a setTimeout() if you need delay). – Fabio Buda Commented Jan 19, 2012 at 7:10
  • @FabioBuda Apparently you can! ;) – HarryCBurn Commented Oct 27, 2014 at 17:50
  • How did you get the code for this button? Wireshark? – Yu Zhang Commented Feb 2, 2017 at 7:31
Add a ment  | 

1 Answer 1

Reset to default 6

To simulate the submission of a form, you can send the same POST request that your browser will send to the site once the submit button is clicked. One way to do this is use urllib.urlencode to encode the form data from a dictionary and urllib2.urlopen to send the request:

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

评论列表(0)

  1. 暂无评论