gpt4 book ai didi

javascript - 无法返回 chrome ://downloads/list from a Protractor download test case

转载 作者:行者123 更新时间:2023-12-01 16:18:11 35 4
gpt4 key购买 nike

好吧,所以我前段时间写了这个函数,它运行良好。
基本上我正在下载一个文件,然后检查 chrome://downloads/中是否有 n 个项目以及文件名是否匹配

this.checkDownload = async function checkDownload(fileNameRegEx) {
var regex = new RegExp(fileNameRegEx);
if ((await browser.getCapabilities()).get('browserName') === 'chrome') {
await browser.get('chrome://downloads/');
const items = await browser.executeScript('return downloads.Manager.get().items_');
expect(items.length).toBe(1);
expect(items[0].file_name).toMatch(regex);
}
};

今天我不得不重用它,但它抛出了一个错误:

Cannot read property 'get' of undefined

我认为问题在于 downloads.Manager 未定义。
Chrome api 有什么变化吗?有新名称吗?
我在官方 chrome 补丁说明中找不到任何相关文档。
我尝试查看下载对象,但找不到列出已下载项目的任何属性/方法。

最佳答案

如果你想检查是否有下载并且下载完成了,这个可行:

var items = document.querySelector('downloads-manager').shadowRoot.querySelectorAll('#downloadsList downloads-item');
if (Array.from(items).every(i => i.shadowRoot.querySelector('#progress') == null || i.shadowRoot.querySelector('#progress').value === 100))
return Array.from(items).reduce((acc, curr) => [...acc, curr.shadowRoot.querySelector('div#content #file-link').href], []);

我的基于 downloads.Manager 的代码也坏了...我很想知道它被删除的原因。

编辑:看到这里,有人遇到了同样的问题并且有一个修复:https://support.google.com/chrome/thread/28267973?hl=en

关于javascript - 无法返回 chrome ://downloads/list from a Protractor download test case,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60150152/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com