gpt4 book ai didi

node.js - 使用 Puppeteer 访问 localStorage,无需 url

转载 作者:行者123 更新时间:2023-12-02 16:49:51 38 4
gpt4 key购买 nike

我正在使用 page = browser.newPage() 创建一个新页面。然后,我使用包含脚本的 page.setContent(...) 设置 html 内容。

加载脚本后,我对其进行调用,该调用会尝试使用 localStorage ,此时我收到访问被拒绝错误:

错误:评估失败:DOMException:无法从“窗口”读取“localStorage”属性:此文档的访问被拒绝。

根据我的理解,这是因为为了写入 localStorage,必须有一个原始集 - 在我的情况下我没有。

如果我更改代码以首先导航到 url page.goto('http://localhost') 然后执行 html 注入(inject),我可以毫无问题地写入 localStorage。

有没有一种方法可以写入 localStorage 而无需先访问现有 URL?

最佳答案

对于 future 遇到此问题的任何人。无法在没有来源的情况下设置本地存储数据。如果您无法导航到页面,则可以使用 here 中描述的请求拦截。这也比调用网络中的随机页面快得多。

await page.setRequestInterception(true)
page.on('request', request => {
request.respond({ status: 200, contentType: 'text/html', body: '' })
})
await page.goto('http://127.0.0.1')

之后,您就可以设置该页面的本地存储。

关于node.js - 使用 Puppeteer 访问 localStorage,无需 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48264725/

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