gpt4 book ai didi

javascript - Headless Chrome - 从加载的网页触发回调

转载 作者:数据小太阳 更新时间:2023-10-29 05:28:39 26 4
gpt4 key购买 nike

有没有办法从加载的网页触发回调?我曾经在可能使用以下代码的地方使用 PhantomJS:

 if (typeof window.callPhantom === 'function') {
window.callPhantom({ data: 'RenderPDF' });
}

在 phantomjs 脚本中:

page.onCallback = function (data) {
/* callback code */
};

最佳答案

您可以使用 Runtime domain 中的评估函数在浏览器上评估 javascript .

下面的示例计算一个函数,该函数返回一个 promise ,该 promise 将在调用 window.callChrome 时解决。

function callChrome() {
return () => {
return new Promise((resolve, reject) => {
window.callChrome = resolve;
});
});
}

// runtime is located in the client object
Runtime.evaluate({
expression: `(${callChrome()})()`,
awaitPromise: true,
}).then((result) => {
// what you've passed into the window.callChrome function.
});

计算的表达式如下所示。

(() => {
return new Promise((resolve, reject) => {
window.callChrome = resolve;
});
})()

您应该在页面准备就绪后真正运行这段代码。理想情况下使用 Page.loadEventFired 函数。

关于javascript - Headless Chrome - 从加载的网页触发回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44353627/

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