有人可以帮我如何使用 selenium2library,RobotFramework 检查文件是否从浏览器下载。在我当前的测试中,我可以单击下载按钮并且文件正在下载,但是如果文件没有被下载,即使单击按钮,会发生什么情况. 任何示例代码都有帮助。
问问题
12210 次
3 回答
5
在 chrome 中,我打开chrome://downloads
页面,然后从 shadow DOM 中检索下载的文件列表,如下所示:
const docs = document
.querySelector('downloads-manager')
.shadowRoot.querySelector('#downloads-list')
.getElementsByTagName('downloads-item');
该解决方案仅限于 chrome,数据还包含文件路径和下载日期等信息。
于 2017-05-18T22:12:40.527 回答
2
此外,您可以通过以下方式将文件自动下载到特定目录 -
FirefoxProfile profile = new FirefoxProfile();
profile.SetPreference("browser.download.folderList",2);
profile.SetPreference("browser.download.dir", @"c:\path\to\downloads \folder");
FirefoxDriver driver = new FirefoxDriver(profile);
于 2016-05-26T11:22:01.730 回答
0
您可以使用以下 python 函数下载文件而不显示对话框。
您还可以设置不应该显示哪种类型的文件保存文件对话框的首选项。
def create_profile():
from selenium import webdriver
fp =webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList",2)
fp.set_preference("browser.download.manager.showWhenStarting",False)
fp.set_preference("browser.download.dir",'C:/Users/mra001/Downloads/Cambium_Builds')
fp.set_preference("browser.helperApps.neverAsk.saveToDisk",'text/csv/xls')
fp.update_preferences()
return fp.path
于 2016-05-27T09:27:54.140 回答