2012-11-08 6 views
2

여러 웹 사이트에서 정보를 얻으려는 도구를 쓰고 있는데 모두 로그인해야합니다. 나의 일반적인 접근 방법은 피 들러 (Fiddler) 또는 비슷한 방식으로 요청과 응답을 따르는 것입니다. 통로.GUI를 사용하지 않는 브라우저

그러나 조금 엄격합니다. 웹 사이트의 최소한의 변경으로 인해 코드가 손상 될 수 있습니다. 그래서 나는 다음과 같은 방법을 사용할 수있는 UI가없는 브라우저처럼 뭔가를 찾고 있어요 :이 코드는 내가 정기적 브라우저에서 얻을 것 페이지를보고 싶어요 완료

Browser.Load("https://sourceforge.net/account/login.php"); 
Browser.Document.ElementById("form_loginname").Value = "login"; 
Browser.Document.ElementById("form_pw").Value = "password"; 
(Browser.Document.ElementById("login") As WebButton).Click(); // the login button is named "login". 

후.

내가 설명한 것과 같은 것이 있습니까?

편집 - C#을 지원 당신이 테스트 응용 프로그램을 보유하고 있지 않습니다되는 키 차이, 이것은 웹 애플리케이션을위한 자동화 된 사용자 테스트 등의 많은입니다

답변

2

바람직하다.

Selenium은 브라우저 구동을 자동화하는 인기있는 라이브러리입니다. 헤드리스 방식으로 Selenium을 사용하여 프로그램을 실행하려면 Xvfb와 같은 헤드리스 X 서버를 사용할 수 있습니다. Xvfb를 사용하지 않는 것에 대해서는 대안에 older question이 있습니다.

Selenium은 다양한 프로그래밍 언어에서 많은 브라우저를 구동 할 수 있으므로 StackOverflow에서 Selenium 태그를 탐색하는 것이 좋습니다.

SimpleBrowser.WebDriver : .NET 용 메모리 가벼운 브라우저 용 셀레늄 바인딩과 같은 특별한 관심 분야가 있습니다. 사실, SimpleBrowser은 Selenium의 복잡성을 추가하지 않고도 사용자의 요구에 직접적으로 부합 할 수 있습니다.

는 예 :

+0

셀렌이 브라우저를 구동합니까? 또는 자체적으로 "탐색"합니까? – Nitay

+0

브라우저를 구동하므로 Javascript, 숨겨진 필드 등이 포함 된 페이지를 완벽하게 지원합니다. –

+0

즉, 실제로 대상 컴퓨터에 설치된 브라우저를 사용해야합니다. 그것은 좋은 후퇴,하지만 뭔가 가벼운 찾을 수 ... 셀레늄은 가장 완벽한 솔루션을 제공 비록 – Nitay

1

Xidel 그런 뭔가를 할 수

xidel https://sourceforge.net/account/login.php -f 'form((//form)[2], "form_loginname=login&form_pw=password&login=Log in")' --download site.html 

합니다 ('로그인 =에서 로그'제출 버튼의 값)

그것은을 통해 자바 스크립트를 지원하지 않습니다 . 셀레늄이라고하는 뭔가가 있다고 들었는데 ...

+0

셀레늄이 좋아 보인다. 감사! – Nitay

관련 문제