Селенид. download () возвращает filenotfoundexception: не удалось загрузить файл

Я хочу проверить загрузку файла с помощью метода Selenide download (), но улавливаю исключение FileNotFoundException и ошибку «Intercepted 1 answers», хотя файл был загружен.

У меня есть кнопка, нажатие на которую приводит к загрузке zip-файла. У элемента нет атрибута href.

Пользуюсь Selenide 5.0.0, chromdriver.exe 2.43

У меня следующие настройки

    Configuration.proxyEnabled = true;
    Configuration.fileDownload = FileDownloadMode.PROXY;

Следующий код вызывает ошибку

public static SelenideElement actionButton() {return $(By.xpath("//div[@class='task-list_container_scroll-view']/div[1]/div[@class='ng-star-inserted'][1]//common-task-view//span[@role='button']"));}
File file = actionButton().download(10000);

java.io.FileNotFoundException: Failed to download file {By.xpath: //div[@class='task-list_container_scroll-view']/div[1]/div[@class='ng-star-inserted'][1]//common-task-view//span[@role='button']} in 10000 ms.Intercepted 1 responses. 200 "" {Server=nginx/1.13.12, Cache-Control=private, Access-Control-Allow-Origin=*, Access-Control-Allow-Methods=POST, GET, OPTIONS, DELETE, PUT, Connection=keep-alive, Expires=Thu, 01 Jan 1970 00:00:00 GMT, Access-Control-Max-Age=3600, X-Application-Context="frontend":staging:80, Content-Length=1271853, Date=Wed, 31 Oct 2018 12:41:32 GMT, Access-Control-Allow-Headers=Content-Type, x-requested-with, X-Custom-Header, accept, authorization} application/octet-stream (1202830 bytes) at com.codeborne.selenide.impl.DownloadFileWithProxyServer.firstDownloadedFile(DownloadFileWithProxyServer.java:94) at com.codeborne.selenide.impl.DownloadFileWithProxyServer.clickAndInterceptFileByProxyServer(DownloadFileWithProxyServer.java:49) at com.codeborne.selenide.impl.DownloadFileWithProxyServer.download(DownloadFileWithProxyServer.java:33) at com.codeborne.selenide.commands.DownloadFile.execute(DownloadFile.java:51) at com.codeborne.selenide.commands.DownloadFile.execute(DownloadFile.java:18) at com.codeborne.selenide.commands.Commands.execute(Commands.java:144) at com.codeborne.selenide.impl.SelenideElementProxy.dispatchAndRetry(SelenideElementProxy.java:99) at com.codeborne.selenide.impl.SelenideElementProxy.invoke(SelenideElementProxy.java:65) at com.sun.proxy.$Proxy11.download(Unknown Source)

5
0
789
2

Ответы 2

вы должны использовать try catch из-за настроек вашего проекта, используйте это:

        try {
        $("selector").download();
    }catch(FileNotFoundException e){}

Попробуй это:

    Configuration.fileDownload = FileDownloadMode.FOLDER;

Другие вопросы по теме