2016-07-29 2 views
2

셀레늄을 사용하여 몇 가지 버튼을 눌러 테스트 프로세스를 위해 파일을 다운로드하고 싶습니다. 이 웹 페이지는 Javascript를 사용하므로 HTTP 클라이언트와 관련하여 HttpState와 같은 것을 사용하는 것은 불가능합니다. PhantomJs가이 기능을 지원하지 않는다는 것을 발견했습니다 (Linux에서는 Esspessialy). Firefox에서 다음 코드를 사용하지만 머리가 아닙니다.셀레늄 지원 다운로드 기능이 활성화 된 헤드리스 브라우저가 있습니까?

FirefoxProfile fprofile = new FirefoxProfile(); 
    String path; 
    if (SystemUtils.IS_OS_LINUX) { 
     path = "/tmp/hon/"; 
    } else { 
     path = "c:\\Downloads\\hon\\"; 
    } 
    fprofile.setPreference("browser.download.dir", path); 
    fprofile.setPreference("browser.download.folderList", 2); 
    fprofile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/zip");    fprofile.setPreference("browser.download.manager.showWhenStarting", false); 
    fprofile.setPreference("pdfjs.disabled", true); 
    mDriver = new FirefoxDriver(fprofile); 

일부 헤드리스 브라우저에서 이와 같은 구성을 사용하는 솔루션이 있습니까?

답변

0

XVFB X11 디스플레이 서버를 사용해보십시오. 실제 디스플레이와 같은 헤드리스 모드에서 작동하며 스크린 샷 및 기타 작업을 수행 할 수 있습니다.

+0

몇 가지 이유로이 방법을 사용할 수 없습니다. 적어도이 솔루션 크로스 플랫폼이 필요합니다. 디스플레이리스 서버가 아닌 헤드리스 브라우저를 찾고 있습니다. –

관련 문제