2012-11-12 3 views
3

MozRepl을 내 브라우저에 설치하고 시작시 시작하고 외부 연결을 허용하도록 설정했습니다.WWW :: Mechanize :: Firefox 문제 해결

내 질문은 다음과 같습니다 1) 코드를 실행하는 것입니다 my $mech = WWW::Mechanize::Firefox->new(); 파이어 폭스 브라우저를 시작?

2) 외부 연결을 허용하도록 MozRepl을 설정했지만 Firefox가 실행되지 않는 동안 스크립트가 1에있는 코드에 도달하면 unable to connect, problem connecting to localhost, on port 4242이 표시됩니다. firefox 브라우저를 사용하여 telnet localhost 4242을 실행하여 디버깅을 시도했습니다. 또한이 오류 Could not open connection to the host, on port 4242: Connect failed을 제공합니다.

이 결과가 기대 되나요?

3) 위에서 겪었던 어려움을 감안할 때 mechanize :: firefox 인스턴스를 만들기 전에 system()을 사용하여 브라우저를 시작하기로 결정했습니다. 브라우저는 시작될 수 있지만 mechanize :: firefox 인스턴스가 생성되는 코드에는 절대 도달하지 않습니다.

#where i manually fire up firefox. 
system('"C:\Program Files\Mozilla Firefox\firefox.exe"'); 

my $mech = WWW::Mechanize::Firefox->new(ssl_opts => { verify_hostname => 0}); 
$mech->get('https://192.168.1.23'); 

나는 확실히 파이어 폭스 브라우저가 코드의 순서에 영향을 미치지 않습니다 아직 실행시킬 수 있도록하기 위해 무엇을 할 수 기계화 그 :: 파이어 폭스 인스턴스는 브라우저를 조작하기 위해 생성 될 수있다?

답변

0

테스트 전에 브라우저를 시작해야하며 자동으로 시작되지 않습니다.

파이어 폭스를 시작하는 데 시간이 걸리지 만, 파이어 폭스가 시작된 후 즉시 시스템이 돌아옵니다. 모든 플러그인을 초기화하는 데 몇 초가 걸립니다.

가장 쉬운 방법은 수면을 통해 30 초 동안 기다리거나 응답 할 때까지 기다리는 while 루프를 시작하는 것입니다.

방화벽 규칙으로 인해 mozrepl에 액세스하지 못할 수 있습니다. 기본 포트는이 새겨 가 텔넷을 통해 포트를 확인할 수 있습니다 : 나는 파이어 폭스를 실행하는 시스템/간부를 사용할 때, 성공적으로 파이어 폭스를 시작하지만, 아무것도 그 이후 발생하지

telnet 192.168.1.23 4242 
telnet 127.0.0.1 4242 
+0

, 간부를 사용하면 라인'내 $ 하더군요 mech = WWW :: Mechanize :: Firefox-> new (ssl_opts => {verify_hostname => 0});에 접근 할 수 없습니다. 이 라인에 도달 할 수 있는지 확인하려면 어떻게해야합니까? 웬일인지 –

+0

, 파이어 폭스를 시작한 후 내 시스템 명령이 돌아 오지 않는다. –

관련 문제