我在網(wǎng)上搜索了一下如何使用Selenium下載文件,其中確實有幾篇文件介紹了實現(xiàn)的方法。
但是其主要思想都是使用httpClient或者URL獲得InputStream, 然后保存到文件中。
但是,其中的問題是用戶登錄的Session不能維持。
我發(fā)現(xiàn)了一個簡單的方法。
直接使用WebDriver.get, 示例如下:
webDriver.get("https://website.com/login");
WebElement element = driver.findElement( By.id( "userID" ) );
element.sendKeys( "user01" );
element = driver.findElement( By.id( "passwd" ) );
element.sendKeys( "password" );
element = driver.findElement( By.name( "Login" ) );
element.submit();
webDriver.get("https://website.cm/download.do?start=xx&end=yy");
String source = webDriver.getPageSource();
這個source就是我們想保存的要下載的內(nèi)容。
只要把這個String寫到一個文件中,就實現(xiàn)了文件下載的目的