2017-07-21 4 views
1
が、私はこのウェブサイト上だと私はフィールドとプレス提出を記入しようとしています

私のファイルがダウンロードではありません。 http://www.hmdb.ca/spectra/ms/searchなぜ(HTMLUnit)は、Java

提出をクリックした後、私はその結果をダウンロードしようとしていますCSV(ボタンがあります)。私の未遂ソリューションです

(S、R、T、Zは、文字列の入力です):

public static String hmdb() throws IOException { 
     WebClient webClient = new WebClient(BrowserVersion.CHROME); 
     Logger.getLogger("com.gargoylesoftware").setLevel(java.util.logging.Level.OFF); 
     webClient.getOptions().setThrowExceptionOnScriptError(false); 
     HtmlPage page = webClient.getPage("http://www.hmdb.ca/spectra/ms/search"); 

     HtmlTextArea searchBox = page.getElementByName("query_masses"); 
     searchBox.setText(s); 

     HtmlSelect select = (HtmlSelect) page.getElementByName("ms_search_ion_mode"); 
     HtmlOption option = select.getOptionByValue(r); 
     select.setSelectedAttribute(option, true); 

     HtmlInput searchBox2 = page.getElementByName("tolerance"); 
     searchBox2.setValueAttribute(t); 

     HtmlSelect select2 = (HtmlSelect) page.getElementById("tolerance_units"); 
     HtmlOption option2 = select2.getOptionByValue(z); 
     select2.setSelectedAttribute(option2, true); 

     HtmlSubmitInput Button = page.getFirstByXPath("//input[@value='Search'][@name='commit']"); 
     HtmlPage pageafter=Button.click(); 

     HtmlSubmitInput Button2 = pageafter.getFirstByXPath("//input[@value='Download Results As CSV'][@name='commit']"); 
     Button2.click(); 

しかし、これは動作するようには思えません。ファイルがダウンロードされていません。 アイデア

答えて

0

さて、あなたはほとんどあります

UnexpectedPage page3 = Button2.click(); 

// then copy from page3.getInputStream() to the preferred location 

IOUtils.copy(page3.getInputStream(), new FileOutputStream("c:\\output.csv"));