c# - C# 如何获取下载文件名 - Selenium(chrome)
问题描述
我用selenium做asp.net爬虫遇到了一个问题。
我正在下载多个文件,需要实时获取已完成文件的名称。
我需要如何实现它。谢谢您的回答。
IWebElement tableElementaa = _driver.FindElement(By.Id($"cph_gvS02_btnDown_{i - 1}"));
tableElementaa.Click();
解决方案
知道 Selenium 将下载文件视为反模式。他们建议使用特定的软件包直接从服务器获取文件。但有时你真的需要那个下载......
启动浏览器时首先指定游览下载目录。在点击之前获取所有文件。单击“等待直到出现最后没有 .tmp 的新文件”。样品只需等待 5 秒。
options.addOption("download.default_directory", "c:\\Test\\")
var before = Directory.GetFiles("c:\\Test\\");
//do click
Thread.Sleep(5000); // add fancy while with timer here
var newFile = Directory.GetFiles("c:\\Test\\").FirstOrDefault(e=>!before.Contains(e));
推荐阅读
- javascript - 在离子中按下按钮上显示/隐藏图片
- amadeus - 一些机场代码不起作用
- odoo - 如何制作 QWeb 报告小部件?
- c# - Unity3D - 在移动和桌面应用程序之间传输数据
- c# - 为 1 列更新 200 万行
- microsoft-cognitive - 必应 Web 搜索 API - 片段结果不正确
- reporting-services - 动态 365 SSRS | 打印报告 添加边距顶部
- java - 如何将多类型布局设置为 RecyclerView?
- firefox - 旧 Firebug 建议 html 类和 ID,但新内置的 firebug 不建议
- reactjs - flatlist 显示类型错误:null 不是键