pdfを保存するには、HTML 5 download
属性を使用する必要があります。 a
要素を作成すると、その要素をクリックするとpdfを保存するよりも要素が作成されます。
基本的に我々はdownload
たちは、保存するファイルの名前で、href
はembed
の私達のpdf
、またはsrc
属性のURLです<a download="ourfile.pdf" href="blob:ourPath">
私たち自身を作成する必要があります。
browser.driver.executeScript();
を使用してこの要素を作成できます。だから我々はこのようなものを作成することができます。
browser.getAllWindowHandles().then(function (handles) {
browser.switchTo().window(handles[1]).then(function() {
browser.ignoreSynchronization = true;
browser.driver.executeScript(`var a = document.createElement('a');
a.href = arguments[0];
a.id="downloadPdf";
a.download = "abc.pdf";
a.text="DOWNLOAD"
a.style="width:200px;height:200px;"
var b = document.getElementsByTagName('body')[0];
b.insertBefore(a, b.firstChild);
`,
browser.driver.getCurrentUrl()).then(() => {
browser.driver.findElement(by.id('downloadPdf')).click();
browser.ignoreSynchronization = false;
});
});
});
私たちは、第二引数でurl
を渡すとbody
の最初の要素として、私たちの新しい要素を挿入します。次に、新たに作成された要素を見つけてクリックします。
ファイルを保存する場所のパスを指定することもできます。これは、設定ファイルにdefault_directory
を設定することで行います。
capabilities: {
'browserName': 'chrome',
'chromeOptions': {
prefs: {
'download': {
'prompt_for_download': false,
'default_directory': 'C:\\your\\custom\\path\\',
}
}
},
}