硒化物。 download()返回FileNotFoundException:无法下载文件

时间:2018-10-31 13:05:25

标签: download selenide

我想检查使用Selenide download()方法下载文件,但是尽管下载了文件,但捕获到FileNotFoundException和错误“已拦截1个响应”。

我有一个按钮,单击该按钮可下载一个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:无法下载文件{By.xpath:   // div [@ class ='task-list_container_scroll-view'] / div [1] / div [@ class ='ng-star-inserted'] [1] // common-task-view // span [@role ='按钮']}   在10000毫秒内拦截了1个响应。 200“” {Server = nginx / 1.13.12,   缓存控制=专用,访问控制允许来源= *,   访问控制允许方法= POST,GET,OPTIONS,DELETE,PUT,   Connection = keep-alive,Expires = Thu,1970年1月1日格林尼治标准时间,   Access-Control-Max-Age = 3600,   X-Application-Context =“ frontend”:staging:80,Content-Length = 1271853,   日期=星期三,2018年10月31日格林尼治标准时间,   Access-Control-Allow-Headers =内容类型,x要求,   X-Custom-Header,接受,授权}应用程序/八位位组流   (1202830字节)       在com.codeborne.selenide.impl.DownloadFileWithProxyServer.firstDownloadedFile(DownloadFileWithProxyServer.java:94)     在   com.codeborne.selenide.impl.DownloadFileWithProxyServer.clickAndInterceptFileByProxyServer(DownloadFileWithProxyServer.java:49)     在   com.codeborne.selenide.impl.DownloadFileWithProxyServer.download(DownloadFileWithProxyServer.java:33)     在   com.codeborne.selenide.commands.DownloadFile.execute(DownloadFile.java:51)     在   com.codeborne.selenide.commands.DownloadFile.execute(DownloadFile.java:18)     在   com.codeborne.selenide.commands.Commands.execute(Commands.java:144)     在   com.codeborne.selenide.impl.SelenideElementProxy.dispatchAndRetry(SelenideElementProxy.java:99)     在   com.codeborne.selenide.impl.SelenideElementProxy.invoke(SelenideElementProxy.java:65)     com.sun.proxy。$ Proxy11.download(未知来源)

2 个答案:

答案 0 :(得分:0)

你应该使用 try catch 因为你的项目设置,使用这个:

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

答案 1 :(得分:0)

试试这个:

    Configuration.fileDownload = FileDownloadMode.FOLDER;