Изтеглете файл, генериран от ФОРМУЛЯР, със Selenium и PhantomJS

Това може да е хилядите въпроси по същата тема и съжалявам за това. Други отговори не се актуализират, защото повечето от тях вече са стари, други просто са за други езици.

Опитвам се да изтегля файл, който се генерира чрез компилиране на html формуляр. Така че следният код ще попълни всичко необходимо във формуляра, като в крайна сметка щракнете върху Изпращане:

public void UsingPhantomjs() throws IOException{

    DesiredCapabilities cap = DesiredCapabilities.phantomjs();
    cap.setCapability("phantomjs.binary.path","src\\main\\resources\\driver\\phantomjs.exe");

    cap.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS, new String[] { "--ignore-ssl-errors=true", "--local-storage-path=C:\\"}); 

    PhantomJSDriver driver = new PhantomJSDriver(cap);

    driver.get("https://this-website/thispage");

    WebElement select1 = driver.findElementByName("list1");
    Select field1 = new Select(select1);
    field1.selectByIndex(1);

    WebElement select2 = driver.findElementByName("list2");
    Select field2 = new Select(select2);
    field2.selectByIndex(1);

    driver.findElement(By.id("id1")).sendKeys("26/06/2017");
    driver.findElement(By.id("id2")).sendKeys("27/06/2017");
    driver.findElement(By.id("id3-1")).click();

    File srcFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
    FileUtils.copyFile(srcFile, new File("C:\\screenshot.png"));

    driver.findElement(By.id("id5")).submit();
    driver.quit();
}

Не очаквам да е толкова просто като submit(); и добавяне на възможността local-storage-path, която се надявах да е всичко, от което има нужда, но всъщност не спестява нищо.. Затова ви питам, ако някой знае или има част от кода, в Java, който може да управлява този вид изтегляния.

Благодаря ти!


person aPugLife    schedule 27.06.2017    source източник
comment
Другият ми въпрос има работещ отговор, използвайки chromedriver: stackoverflow.com/questions/44721679/   -  person aPugLife    schedule 03.05.2018