2011-01-04 5 views
0

는이 같은 링크로 가득 찬 페이지가 있습니다. Javascript는 새 창 내용도 작성합니다.제출 양식 (파이썬)

<form method="post" action="/doaction.php"> 
    <input type="hidden" value="hashcode"> 
    /* code to insert data (textfields etc.) */ 
    <input type="submit"> 
</form> 

난 할 노력하고있어 것은 :

  1. 필터 모든 링크는 내가
  2. 클릭이 필요

    내용이 같은 형태로 구성 (innerHTML 포함) 팝업 창이 열리는 첫 번째 링크

  3. 클릭첫 번째 단계는 열심히하지 않아야 데이터

을 보내 버튼을 제출하고 나 자신을 알아낼 수 있습니다. 내가 수행하는 방법 단서가 없다 그러나
2 단계 (하지만 난 아마 파이썬에서 링크를 클릭하는 방법에 대한 몇 가지 자습서를 찾을 수 있습니다) 3.

그래서 3 단계로 시작하는 방법에 대한 도움을 매우 높이 평가하고 단계를 .

+0

Urgh. 요즘 HTML 링크에서'javascript :'의사 프로토콜을 사용할 이유가 없습니다. 'href'를 비워두고 대신'onclick'을 사용하십시오. –

+1

@ 대니얼 OP가 쓴 페이지가 아닌 것으로 가정합니다 :) – Ashy

+1

@Ashy 당신이 완전 하군요. :) – Aerus

답변

5

당신은 양식에 제출되는 스크립트에 POST 요청을하려면 urllib2.urlopen을 사용할 수 있습니다 (난 정말 파이썬에서이 일을해서는 안 경우에도 알려주세요).

import urllib, urllib2 
url = '/doaction.php' 
data= {'hashcode': 'blah', 'name':'blahblah', 'type':'blahblahblah'} 
request = urllib2.Request(url, urllib.urlencode(data)) 
response = urllib2.urlopen(request) 
+0

좋아, 그게 경영인 같아. 데이터 문자열의 구문에 대한 정보를 찾을 수 없습니다. "hashcode", "name", "type"과 같은 값을 가진 3 개의 입력이 있다고 가정 해 봅시다. 데이터 문자열은 어떻게 생겼을까요? 당신이 제공 한 링크는 * application/x-www-form-urlencoded 형식의 버퍼 여야한다고 말합니다. 그러나 그 의미를 전혀 알지 못합니다. – Aerus

+0

urlencode .. data = urllib.urlencode ({ "username": user, "password": pass}) – Ashy

+0

@Aerus가 코드 예를 추가했습니다. 그것이 분명히되기를 바랍니다. – rubayeet