2010-06-13 4 views
2

파이썬에서 브라우저를 제어하는 ​​방법, 즉 양식 필드를 채우고 제출하고 JS 함수를 호출 할 수있는 방법을 찾고 있습니다. 조금 훑어 보았지만 PyWebKitGtk가 브라우저를 GUI 요소로 표시하고 인터페이스는 표시하지 않는 것을 볼 수있는 한 멀리 보았습니다.파이썬에서 브라우저 제어

쉽게 할 방법이 있습니까? 파이썬에서 내 프로그램 로직을 작성했는데 JS로 이식하는 것을 싫어합니다. 게다가, 순수 JS "북마크릿"을 사용하더라도 내 로컬 파일 시스템에 읽기/쓰기가 불가능합니다.

또한 페이지의 일부 내용은 AJAX를 사용하여 생성되므로 javascript가 정상적으로 실행되는 솔루션을 찾고 있습니다.

P. 당신의 의구심을 풀기 위해 포럼 계정 생성 양식이나 비슷한 내용의 spammious를 자동으로 채우려 고하지는 않습니다. 기술적으로는 비슷합니다. 내 연구 프로젝트를 위해 사이트를 크롤링/스크래핑해야합니다.

EDIT : IEC 유망 해 보이지만 저는 Mac에서 작업하고 있습니다.

답변

3

당신은 스크립트 브라우저에 응용 프로그램입니다 Selenium처럼 뭔가를 시도 할 수 있습니다 ...을 통하여 Python을 비롯한 다양한 언어 - 브라우저 간 테스트를위한 것이지만 원하는대로 할 수 있습니다. 다른 방법

import sys 
from PyQt4.QtCore import * 
from PyQt4.QtGui import * 
from PyQt4.QtWebKit import * 
app = QApplication(sys.argv) 
web = QWebView() 
web.load(QUrl("http://google.com")) 
web.show() 
sys.exit(app.exec_()) 

또는 사용 Crowbar는 XULRunner (파이어 폭스)에 대한 당신에게 API 인터페이스를 제공합니다 :

+0

Seconded. Selenium IDE를 사용하여 브라우저를 열고 레코드를 누른 다음 직접 양식을 작성하여 제출하십시오. 그런 다음 기록 된 세션을 파이썬 코드에 저장할 수 있습니다. 셀렌 코드를 현재 코드와 통합하면 황금일 수 있습니다. –

+0

멋집니다. 그것은 다른 방향으로 작동합니다. 나는 Selenium으로부터 파이썬을 호출 할 것이지만, 그것이 작동한다면, 모든 것이 잘되어야한다. 고맙습니다. 편집 : 이것은 대단하다! 파이썬 스크립트를 내 보낸 경우 제대로 작동합니다. – noio

1

왜 파이썬을 사용하여 브라우저를 시뮬레이션하고 HTML을 구문 분석하고 필요에 따라 적절한 HTTP 요청을 작성하는 것이 좋을까요?

빠른 google는 산출 다음

+0

AJAX를 정상적으로 실행하고 모든 호출을 시뮬레이션하는 것이 약간 지루할 수 있기 때문에 브라우저를 시뮬레이트하지 않습니다. – noio

0

당신은 (파이썬)는 웹킷 브라우저를 구현할 수 있습니다.

관련 문제