Кнопка загрузки Selenium указывает на загрузку zip-файла браузером на Java - PullRequest
0 голосов
/ 04 июня 2018

У меня есть кнопка загрузки без ссылки на ссылку на веб-странице.Я нахожу его с помощью findExtendedelement и нажимаю на него.После загрузки файла zip на жесткий диск (я не знаю, где, и это не должно иметь значения), я хотел бы поймать этот загруженный zip-файл и поместить его в мой проект, например, в папку build / reports / tests / temp.

Возможно ли это с селеном?

Обновление

HTML выглядит: https://i.stack.imgur.com/YnhlH.jpg

Я пробовал этот код:

@Test
public void userCanDownloadFile() throws FileNotFoundException, IOException
{
 // Folder to store downloads and screenshots to.
 reportsFolder = "./src/test/profiles/chrome/downloads/";

 open("http://chromedriver.storage.googleapis.com/index.html?path=2.16/");

 // Download files
 $("a[href='/2.16/chromedriver_win32.zip']").download();
    $(By.xpath(".//a[@href='/2.16/chromedriver_mac32.zip']")).download();

    // Count files in folder, assert 2
    int downloadsCount = new File(reportsFolder+"2.16").listFiles().length;
    assertEquals("Should be 2 files but founded " + downloadsCount,  
          downloadsCount, 2); 

    // Clean after test
    FileUtils.deleteDirectory(new File(reportsFolder+"2.16"));
}

Результат: java.lang.IllegalArgumentException: Элемент не имеет атрибута href:

Код от: http://selenide -recipes.blogspot.com / 2015/08 / how-to-download-file-with-selenide.html

Я ищу что-то подобное, я могу обработать загруженный файл в моем проекте.(в пути reportsFolder) К сожалению, это решение не работает, так как ExtendedElement (findExtendedElement ("span", "class", "download_0") не имеет тега "href")

Спасибо

1 Ответ

0 голосов
/ 05 июня 2018

этот xpath: "//span[contains(@class,'download_o')]" должен работать

...