[첫화면으로]Perl/WWW-Mechanize-Firefox

마지막으로 [b]

1 번째 수정본
Cpan:WWW::Mechanize::Firefox

1. 개요

아주 좋다 -_-b 정말 좋다.

/WWW-Mechanize의 단점은 자바스크립트를 처리하지 못한다는 것. 그래서 최근에 링크나 버튼의 동작을 자바스크립트로 제어하게 되어 있는 사이트에서는 쓰기가 매우 힘들었는데... 이 모듈은 자기가 firefox를 구동해서 웹사이트에 접근한다. 그래서 버튼이나 특정 영역을 클릭하는 동작 등을 그대로 시킬 수 있다.

my $fox = WWW::Mechanize::Firefox->new();
...
# id가 qbi인 span 태그를 찾고
my $camera = $fox->selector( 'span#qbi', single => 1 );
# 그걸 클릭
$fox->click( { dom => $camera, synchronize => 0 } );
...
# 아예 웹페이지에 있는 자바스크립트 함수를 곧바로 실행시켜 버릴 수도 있다.
$fox->eval( 'google.qb.ti(true)' );

# 결과를 가져오는 건 WWW::Mechanize와 똑같이 하면 됨
my $content = $fox->content()

2. 유용한 옵션이나 메쏘드

WWW::Mechanize::Firefox->new() 생성자에

autoclose_tab(0)

3. MozRepl 부가 기능 필요

이 모듈을 쓰려면 먼저 firefox 에 mozrepl 확장 기능이 있어야 한다. 이걸 설치하면 4242 포트에 접속해서 파이어폭스를 제어할 수 있게 된다.

설치 후에 도구->MozRepl->Start를 해서 실행을 해줘야 한다.

3.1. Firefox 20.0 에서 동작하지 않는 문제

그런데 이 mozrepl 1.0 버전이 Firefox 20.0 에서 동작하지 않는다. start가 되지 않음.

firefox를 구버전으로 강제로 다운그레이드할 수도 있겠지만... 이 모듈 github에 갔더니 누가 이미 패치를 올려놨더라.

따라서 저걸 직접 적용해서 설치해줘야 한다.

Upload:firefox_addon.png

4. Comments

이름:  
Homepage:
내용:
 

컴퓨터분류

이 수정본 편집일: 2013-4-4 1:16 pm (변경사항 [d])
1629 hits | Permalink | 변경내역 보기 [h] | 현재 수정본 보기 | 1 번째 수정본 소스 보기