2010-08-21 2 views
1

다음 코드는 WWW::MechanizeHTML::TableExtract 모듈을 사용합니다. 모든 것은 매력처럼 작동합니다. 단, 다음 페이지로 이동할 수는 없습니다. 핫스팟 목록을 http://www.wigle.net/gps/gps/main에서 얻으려고합니다. 사용자 ID는 natty_a이고 암호는 natty입니다. [searching]을 클릭 한 다음 Query을 클릭하십시오.Mechanize를 사용하여 wigle.net의 결과 페이지를 어떻게 방문하나요?

내 스크립트는 좌표와 데이터를 받아 들여 해당 테이블을 가져와야합니다. 그것은, 그러나 첫 번째 페이지에 대해서만 않습니다. 다음 페이지로 이동할 수없는 것 같습니다. Next100 >> 버튼을 클릭 할 수 없습니다.

나는 아무 소용, 다음 방법을 시도 :

$mech_browser->post(
    'https://wigle.net/gps/gps/main/confirmquery/', [ 
     pagestart => $i, 
     Query  => 'Next100 >>' 
    ] 
) 

$mech_browserWWW::Mechanize 인스턴스이며 i 얻을 수있는 결과의 단지 숫자입니다. 그것을 찾으려면 Live HTTP Headers을 사용했습니다.

$mech_browser->click_button(value => 'Next100 >>') 

이것은 작동하지 않습니다. 만족스러운 결과에 도달하면 한 대화 형 페이지로 재생할 수있는 아주 멋진 모듈, WWW::Mechanize::Shell이있다

답변

3

클릭 다양한 버튼 등 , 하나는 WWW::Mechanize를 사용하는 펄 스크립트를 생성 할 수 있습니다 그것은 정확하게 수행 연주하는 동안 수행 한 작업.

그러면 남은 것은 생성 된 스크립트에서 필요하지 않은 작업을 편집하는 것입니다.

귀하의 솔루션을 찾는 데 사용하시기 바랍니다.

+0

좋아, 이제는 폼 2를 선택하는 방법을 모르겠다. 쉘 모듈과 '폼'명령을 사용하는이 폼이있다. Form [1] POST wigle.net/gps/gps/main/confirmquery pagestart = 0 (숨겨진 읽기 전용) Query = << 이전 100 (제출) 양식 [2] POST wigle.net/gps/gps/main/confirmquery pagestart = 200 (숨겨진 읽기 전용) Query = Next100 >> (제출) 나는 폼 2에서 '클릭'을 수행하고 싶다. 폼 2 (모듈 문서에 따르면)를 이름으로 만 선택할 수있다. 나는 그 아이디어의 이름을 볼 수 없다. – snoofkin

+0

문제가 해결되었습니다! – snoofkin

0

나는 당신이 필요로하는 확신 :

$mech->submit_form(
    form_number => 1, 
    button => "Query", 
); 

그러나 form_number 2 있어야 두 번째 페이지에 당신이 경우 (첫 번째 양식은 "이전"버튼 있기 때문에).

+0

그것은 웬일인지, 직업을 didnt한다. 어쨌든 감사합니다! – snoofkin

관련 문제