我使用WebDriver自动化网站,但我的文件下载需求与我在google搜索时发现的有点不同。
我有一个创建订单的网站。当我点击“下订单”按钮时,它会将我重定向到“打印订单”页面。作为一个“方便”的我,这个页面自动启动其体内onload下载操作,这意味着当我点击“下订单”按钮,我转到一个新页面,然后立即出现一个文件下载对话框,让我下载生成的pdf,从而阻止了浏览器。
以下是我发现/想到的解决方案,以及为什么我不能使用它们:
配置Firefox / Chrome配置文件以静默方式下载文件。不能使用它,因为我需要计算下载所需的时间。
使用阻止下载的功能覆盖window.open,并允许我抓取URL并使用wget下载它。无法使用此项,因为文件下载是从下一页的onload函数启动的,因此我在此页面上运行的任何javascript都将丢失。
取消onload函数或尝试在onload函数之前执行代码。在webdriver中找不到这样做的方法。
使用wget下载打印页面,修改html以更改onload处理程序,并将修改后的html注入selenium。无法找到替换整个页面的方法,包括< head>和< body>标记和URL。
不幸的是,我无法更改此网站的源代码,因为我在QA中并且我没有那种杠杆与开发。有没有人想过以自动方式下载这个文件的方法可以定时?
感谢。
答案 0 :(得分:0)
对我来说,你有两个选择。
上面提到的其他测试似乎太复杂了。