Загрузите файл, сгенерированный из формы, с помощью 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