我想检查使用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(未知来源)
答案 0 :(得分:0)
你应该使用 try catch 因为你的项目设置,使用这个:
try {
$("selector").download();
}catch(FileNotFoundException e){}
答案 1 :(得分:0)
试试这个:
Configuration.fileDownload = FileDownloadMode.FOLDER;