몇 주 동안 탐색 작업을 자동화하려고합니다. 작업은 간단합니다 : 로그인, 링크 클릭, 변수 입력 및 제출, 로그 아웃. 이 작업을 수행하는 웹 사이트를 만들어야합니다 (더 단순한 인터페이스) 웹 사이트에서 서블릿을 사용하고 웹 사이트 코드에 액세스 할 수 없음을 명심하십시오. 처음에는 CURL을 시도했지만 curl에 일부 Ajax 요소가 있었기 때문에 해당 내용을 표시 할 수 없었습니다. .NET Webdriver, JUnit, Selenium 등을 시도했지만 모두 Ajax 요소 렌더링에 실패했습니다. perl과 python을 기계화 해 보았습니다. perl은 작동하지 않지만, 나는 파이썬으로 동적 인 내용을 얻을 수있었습니다. 문제는 내가 Javascript로 시작하는 Javascript 실행 링크가 있다는 것입니다. 그리고 Mechanize로 함수를 호출 할 수 없다고 생각합니다. 이 작업이 가능한지 아무도 알지 못합니까?탐색 작업을 자동화하는 방법은 무엇입니까?
답변
펄 모듈 WWW::Mechanize
이 화면이된다고, 다운로드, 업로드, 양식 제출, 인증, 간단한 브라우징, 같은 웹 브라우징 작업을 자동화의 가장 인기있는 방법 등 등
, 그들을 다루는 대중적인 Perl 모듈은 WWW::Mechanize::Firefox
을 사용합니다.
LWP::UserAgent
및
WWW::Mechanize
또는
WWW::Mechanize::Firefox
에 속하는 펄 모듈 방식의 조합에 의해 처리 할 수 있습니다. 웹에서 사용 가능한 예제로드.
내가 이해하는 방식 WWW :: Mechanize :: Firefox에는 Firefox 확장 기능 인 MozlRepl이 필요하며 내 명령 행 환경과 아무 관계가 없습니다. – user1470618
어떤 종류의 "명령 줄 환경"을 사용하고 있습니까? WWW :: Scripter를 사용하여 javascript도 처리 할 수 있습니다. – Annjawn
감사합니다 Annjawn, Just linux, 저는 신임장을 받고 일부 작업을 자동화하는 스크립트를 실행하는 웹 사이트를 만들려고합니다. 따라서 모든 작업이 스크립트에서 완료되어야하며, Scripter도 살펴 보겠습니다.그러나 나는 모든 사람들이 말하는 것에도 불구하고 스크립트로 복잡한 웹 사이트를 처리하는 것은 가능하다면 매우 어렵고 모듈에 의존한다는 결론에 도달하고 있습니다. – user1470618
예를 사용하여 casperjs :
var casper = require('casper').create({
verbose: true,
logLevel: 'debug'
});
casper.start(
'http://example.com',
function() {
this.evaluate(function() {
return $('#someElementId div').length; // This runs as if it was on the page
});
this.fill(
'#formId',
{
email: '[email protected]',
password: 'password123'
},
true
); // This submits login form
}
);
Casperjs 쿠키를 저장, 깊은 페이지에 대한 요청이 실패하지 않을 수 있도록.
양식 제출에 대한 자세한 내용은 fill()을 참조하십시오.
js를 테스트중인 페이지에서 실행 된 것처럼 실행하려면 evaluate()을 참조하십시오.
AJAX 작업을 테스트하려면 문제 없습니다. 페이지가 브라우저에서 실행중인 것처럼 실행되고 DOM에서 결과를 볼 수 있습니다. evaluate()을 사용하여 수동으로 시작할 수 있습니다.
* OOOOO 임의의 링크! * - 더 많은 정보가 도움이 될 것입니다. – rlemon
Ajax 요소에서 Selenium WebDriver가 실패했습니다. – user1470618
플러스 팬텀과 함께 서버 사이드 자바 스크립트를 실행할 수있을거야? – user1470618
- 1. iPhone 시뮬레이터에서 수행되는 작업을 자동화하는 방법은 무엇입니까?
- 2. 리눅스에서 온라인 작업을 자동화하는 방법은 무엇입니까?
- 3. Windows에서 일련의 작업을 자동화하는 방법
- 4. Photoshop을 자동화하는 방법은 무엇입니까?
- 5. C#을 사용하여 인쇄 작업을 자동화하는 방법은 무엇입니까?
- 6. SVN 업데이트 후 Visual Studio 작업을 자동화하는 방법은 무엇입니까?
- 7. 테스트를 위해 인간에 종속적 인 작업을 자동화하는 방법은 무엇입니까?
- 8. 빌드 후 작업을 자동화하는 가장 좋은 방법은 무엇입니까?
- 9. 오픈 소스 소프트웨어 공개 작업을 자동화하는 방법은 무엇입니까?
- 10. 이 프로세스를 자동화하는 방법은 무엇입니까?
- 11. 양식 제출을 자동화하는 방법은 무엇입니까?
- 12. Grails 빌드를 자동화하는 방법은 무엇입니까?
- 13. .NET에서 Winforms를 자동화하는 방법은 무엇입니까?
- 14. 마우스와 키보드를 자동화하는 방법은 무엇입니까?
- 15. .htaccess에서 rewriterule을 자동화하는 방법은 무엇입니까?
- 16. 비밀번호 입력을 자동화하는 방법은 무엇입니까?
- 17. Qt moc을 자동화하는 방법은 무엇입니까?
- 18. 플렉스 애플리케이션을 자동화하는 방법은 무엇입니까?
- 19. Java 애플릿을 자동화하는 방법은 무엇입니까?
- 20. SQL 쿼리 실행을 자동화하는 방법은 무엇입니까?
- 21. 텍스트 재 작성을 자동화하는 방법은 무엇입니까?
- 22. 열 81에서 폴드 마커를 자동화하는 방법은 무엇입니까?
- 23. QGIS (Qt) 작업을 자동화하는 파이썬 스크립트 작성
- 24. ajax 지원 웹 사이트에서 작업을 자동화하는 스크립트
- 25. 탐색 표시 줄의 barbutton 항목에서만 사용자 작업을 활성화하는 방법은 무엇입니까?
- 26. Windows에서 작업을 예약하고 자동화하는 데 유용한 언어는 무엇입니까?
- 27. Magento에서 가져 오기 기능을 자동화하는 방법은 무엇입니까?
- 28. Perl을 사용하여 프로그램 입력을 자동화하는 방법은 무엇입니까?
- 29. clojure-clr을 사용하여 InternetExplorer를 자동화하는 방법은 무엇입니까?
- 30. 쉘 스크립트를 사용하여 dos2unix를 자동화하는 방법은 무엇입니까?
'waitFor's 셀렌을 사용하여 Ajax를 훌륭하게 해 보았습니까? 그것은 정확히 어떻게 실패 했는가? –
Selenium failed on logging. 셀레늄의 .NET 래퍼를 사용했고 로그인 화면을 지나칠 수 없었습니다. "비밀번호를 입력해야합니다."라는 오류가 나타납니다. (예, 양식 필드의 이름이 정확했습니다.) – user1470618
[Mechanize FAQ] (http://p3rl.org/WWW::Mechanize::FAQ#JavaScript)에는 Javascript 지원 부족에 대한 해결 방법이 포함되어 있으며 Javascript를 지원해야합니다. – daxim