在 chrome 浏览器上使用 selenium 为具有 reactid 的元素模拟文件下载

simulating file download with selenium on chrome browser for element with reactid

我需要在 chrome 浏览器上模拟文件下载,下面的链接指向我正在寻找的解决方案。

http://ardesco.lazerycode.com/index.php/2012/07/how-to-download-files-with-selenium-and-why-you-shouldnt/

https://github.com/Ardesco/Ebselen/blob/master/ebselen-core/src/main/java/com/lazerycode/ebselen/customhandlers/FileDownloader.java

我无法使用此代码,因为它需要属性,在我的例子中,按钮有一个 reactid,它会触发端点调用。请参阅随附的屏幕截图。

有人可以告诉我需要做哪些更改才能使上述链接中的代码正常工作吗?

提前致谢。

此致, 维克拉姆

由于您无法从 html 获取可下载文件的 link 并验证 https 状态代码,因为在您的情况下 - 下载是通过 javascript 方法进行的

在您的情况下验证下载的唯一方法是实际单击元素并验证文件是否已下载。

您还需要在 ChromeDriver 中设置无需询问即可下载到默认目录的功能。 Chrome Web Driver download files

为了能够下载 link 需要想办法获得 link。最好的方法是与编写代码的开发人员交谈并了解其工作原理。

单击该按钮会触发某种 JavaScript 事件,您需要知道该事件是什么,以便复制它以获取下载 link。

请记住,这可能不是值得在 Selenium 中执行的测试。它可能是 JavaScript 领域的单元测试。