2010-11-27 4 views
2

파이썬을 사용하여 웹 페이지에 양식을 작성하여 제출하고 싶습니다. 상호 작용하려는 양식에는 JavaScript를 사용하여 채워지는 여러 개의 드롭 다운 상자가 있습니다. mechanize 라이브러리를 살펴 보았지만 JavaScript는 처리하지 않습니다. 양식과 상호 작용할 대체 라이브러리/방법을 제안 할 수 있습니까?Python - HTML 양식 채우기 및 제출

건배,

피트

+0

어떻게 자바 스크립트를 채우고 있습니까? json 또는 xml에 대한 요청을 수행하고 그로부터 채워지 는가, 아니면 그 위치에서 채울 수 있습니까? 어디서 온거야? 이 물건을 할 필요가있을 때, 나는 자바 스크립트와 같은 요청을 수행하고 응답을 분석하여 선택 사항을 얻는다. – aaronasterling

+0

지금까지 양식에 페이지의 소스 코드에서 사용할 수있는 JavaScript Array가 채워져 있다고 말할 수 있습니다. 이 배열이 어떻게 채워지는지 나는 모른다. 양식에 "날짜"드롭 다운이 있으며이 드롭 다운을 변경하면 다른 드롭 다운의 값이 변경됩니다. – Peter

답변

2
  1. 셀레늄 RC 또는 풍차 (http://www.getwindmill.com/)

  2. 형태의 반환 GET 또는 POST 값을 검사; urllib2를 사용하여 합성 요청을 직접 제출하십시오.

0

양식 효과적으로 당신이 제출 버튼을 누른 후 (아니면 다른 곳에서) 다시 서버로 정보를 전송합니다.

양식과 직접 상호 작용하는 방법을 모르겠지만 양식을 제출할 때와 동일한 방법으로 실제로 정보를 서버로 보낼 수 있습니다 (실제로 제출하거나 물건을 누르지 않아도됩니다).

예를 들어 일부 양식은 양식을 제출 한 후 HTTP 요청의 URL 끝에 양식 (및 해당 값)에 지정된 매개 변수를 넣습니다. 다른 사람들은 매개 변수를 HTTP 요청의 본문에 넣습니다. PHP에서 나는 PHP가 자동으로 이러한 매개 변수를 (글로벌 배열로) 가져 간다는 것을 알고 있습니다.

이 경우 양식 소스 코드에있는 이름/값을보고 HTTP 요청에 매개 변수 (이름/값) 만 넣으면됩니다.

형태 자바 스크립트를 사용하여 서버로 정보를 보낼 수 있지만

...

즉 아무 의미하지 경우 죄송합니다.

+2

'GET'또는 'POST'요청을 사용하는 경우 양식이 자바 스크립트를 통해 제출되면 문제가되지 않습니다. – aaronasterling