2014-01-24 2 views
0

전체 웹 페이지의 로딩을 건너 뛰고 셀레늄 webdriver에서 URL 상태를 확인하여 실행 속도가 훨씬 빨라지 길 원합니다.Selenium Webdriver에서 어떻게 데이터 다운로드를 건너 뛸 수 있습니까?

+0

java 또는 C#으로 webdriver를 사용하고 있습니까? 왜냐하면 당신이 자바로하고 싶다고 가정했기 때문입니다. 그러나 동일한 아이디어를 재사용 할 수 있습니다. – Buddha

+0

당신의 요구 사항을 만족 시키거나 계속 토론 할 수 있다면 답변을 수락하십시오. 그렇지 않으면 문제가 오래되어 솔루션이 효과적인지 아닌지 아무도 알 수 없습니다. – Govardhan

답변

3

을 그 내부의 콘텐츠에 대해 걱정 할 필요가 없습니다, 당신은 단지 응답 코드를 취득하고 200이면 확인할 수 있습니다 (HTTP_OK). 난 당신이 대신 셀레늄 webdriver 완료하려고 간단한 자바를 사용하는 것이 좋습니다 것이 좋습니다. 방금 저 작을 작은 프로그램을 썼습니다. 이것이 당신을 위해 잘 작동하는지보십시오. 이것은 웹 페이지에 성공적으로 도달 할 수 있는지, 404 또는 500 또는 다른 오류를 다시 보내지 않았는지 여부를 테스트합니다.

import java.io.IOException; 
import java.net.HttpURLConnection; 
import java.net.URL; 

public class HttpTest 
{ 
    public static void main(String[] args) throws IOException 
    { 
     URL url = new URL ("http://www.google.com/"); 
     HttpURLConnection conn = (HttpURLConnection)url.openConnection(); 
     conn.setRequestMethod ("HEAD"); // GET will fetch the content of the page, which is not needed for your case. 
     conn.connect() ; 

     if(conn.getResponseCode() == HttpURLConnection.HTTP_OK) 
      System.out.println("Success"); 
    } 

} 
+0

우리는 일부 URL을로드하고 싶지만 다른 URL은 건너 뛰기를 원합니다. 우리는 여전히 webdriver 함수가 필요합니다. –

0

무엇을 하시겠습니까? 페이지의 일부 링크를 클릭하고 올바른 URL로 리디렉션되는지 확인 하시겠습니까? 이 경우 URL의 변경 사항을 확인할 수 있습니다. 아래의 예를 참조하십시오 : 당신은 그냥 페이지의 상태를 확인하려면

int i=0; 
do{ 
    try { 
    Thread.sleep(20); 
    } catch (InterruptedException e) { 
    } 
    i++; 
} while(driver.getCurrentUrl().equals("The URL on which the page is originally.")&&i<10); //After URL changes, verify it. 
관련 문제