问题描述
我需要在单击按钮打开 pdf 文件后出现在浏览器中的 acrobat 阅读器弹出窗口中自动单击“确定”按钮(或按 Enter 键)。因此,它为您提供了在浏览器中打开、在 acrobat 阅读器中打开或下载的选项。我需要在浏览器中打开它并截图,然后切换到父窗口(因为它在其他窗口中打开 PDF 文件)。
这里的问题是弹出窗口不是 Web 应用程序的一部分(不在 DOM 中),并且您无法检查元素。你如何处理这些弹出窗口?请帮忙! 不幸的是,我无法附上弹出窗口的屏幕截图,因为这是我的第一个问题
///////////////////////////////////////////// /// //这是在弹窗出现前点击按钮的函数
async viewEligibilityPdf() {
console.log('******************* ELIGIBILITY RESULTS PAGE ***********');
await I.waitForText('Eligibility results',120);
await I.wait(5);
await I.waitForEnabled(this.buttons.viewEligibility,120);
await I.saveScreenshot(`EligibilityResultsPage.png`);
await I.click(this.buttons.viewEligibility);
}
解决方法
很有可能你做不到。网络浏览器具有非常严格的安全措施,可以防止自动化,尤其是在您自己的代码之外。
我知道您无法发布屏幕截图,但更多信息会有所帮助。
- 您(是您的应用程序)正在生成此 PDF 吗?
- 另外,请至少提供您打开此 PDF 的代码段示例。
在这里找到了解决方案。例如,它有一些缺点,就像 Robot 类一样(浏览器必须在其中一个的前台),但现在它可以完成这项工作 https://www.npmjs.com/package/node-key-sender