当前位置: 首页 > 知识库问答 >
问题:

是什么阻止我在使用自动测试时打开的浏览器窗口中下载文件?

糜征
2023-03-14

我无法在执行自动测试时打开的Chrome浏览器窗口(版本73.0.3683.86(官方版本)(64位))中使用Selenium-Webdriver下载CSV文件。我使用的是Selenium版本:3.4

<h4>
<a href="/Hardware/ExportCsv?hardId=USB" download="Drives.csv" id="excel-btn">
        <img src="../../Content/Images/excel.svg">
        Export csv file.
    </a>
</h4>
Browser.driver.findElement(By.id("excel-btn")).click();
action.moveToElement(Browser.driver.findElement(By.id("excel-btn"))).click().perform();

共有1个答案

田昊天
2023-03-14

我找到了一个有效的答案!允许您在headless浏览器中下载文件的解决方案也适用于本例。本质上,有一个功能,以防止软件下载文件到您的电脑通过Chrome浏览器。为了解决这个问题,您需要.setDownloadBehavior来允许下载。(确保将下载路径设置为下载目录。)

在这里阅读更多关于它的信息;这里是Java、Python和C#中的代码示例。

 类似资料:
  • 本文向大家介绍JS打开新窗口防止被浏览器阻止的方法,包括了JS打开新窗口防止被浏览器阻止的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS打开新窗口防止被浏览器阻止的方法。分享给大家供大家参考。具体分析如下: 用传统的window.open()方式打开新窗口,会被浏览器阻止,那么,我们如何才能让JS打开新窗口不被浏览器阻止呢?其实办法还是有的,这里我们就来分析一下如何解决这个问题

  • 我不知道为什么我为下面的示例打开了2个火狐浏览器。有人能告诉我下面的代码有什么问题吗?我是cucumber新手,我正在尝试使用页面对象模型开发cucumberpoc。 特征文件: 步骤定义文件: 步骤定义文件的实际实现:(首页.java) BasePage.java CustomerDetails.java 打开2个火狐浏览器:首先它打开一个空白浏览器。后来它打开另一个浏览器,并在此浏览器中打开应

  • 问题内容: 我是angular js的新手,我希望在按下按钮后在浏览器的新窗口中打开PDF文档。 我在前端发出GET请求,在后端有一个Java Rest服务,该服务响应GET并生成PDF。我希望在浏览器中打开此PDF。 如果无法以这种方式打开PDF,那么至少要使用AngularJs打开任何PDF,我该怎么做? 这就是后端在其余服务中生成响应的内容。 问题答案: 如果您有这样的事情: 而是这样做:

  • 我有一个非常简单的测试应用程序,上面有一个webview组件。我正试图阻止链接在浏览器中打开,但“shouldoverrideurlloading”看起来对我不起作用。 有人能帮我看看哪里有错误吗?

  • 在我的脚本中,我打开浏览器的私有窗口来验证网站中的某些内容。下面是示例代码: 当我在本地(mac)机器上执行这些测试用例时,或者当Jenkins在Windows服务器上本地执行这些测试用例时,这些代码可以正常工作。但现在,当我在browserstack虚拟机上运行脚本时,我面临的挑战是。我的本地机器是Mac,当我尝试在Windows(虚拟)机器上运行某些东西时,它会尝试在键盘上查找命令按钮,测试用

  • 问题内容: 我正在纯粹用JavaScript开发OAuth身份验证流程,我想在弹出窗口中向用户显示“授予访问权限”窗口,但是该窗口被阻止了。 如何防止由或创建的弹出窗口被不同浏览器的弹出窗口阻止程序阻止? 问题答案: 一般规则是,如果从 直接用户操作 未调用的javascript中调用了javascript或类似方法,则会阻止弹出窗口阻止 程序 。也就是说,您可以响应单击按钮而调用,而不会被弹出窗