5

क्या लोड किए गए वेबपृष्ठ से कॉलबैक ट्रिगर करने का कोई तरीका है? Runtime domain में मूल्यांकन फ़ंक्शन का उपयोग करकेहेडलेस क्रोम - लोड किए गए वेबपृष्ठ से कॉलबैक ट्रिगर

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

उत्तर

2

आप ब्राउज़र पर जावास्क्रिप्ट का मूल्यांकन कर सकते हैं:

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

और phantomjs लिपि में: मैं PhantomJS जहां यह संभव हो गया था निम्नलिखित कोड का उपयोग कर का उपयोग करते थे।

नीचे उदाहरण एक ऐसे फ़ंक्शन का मूल्यांकन करता है जो एक वचन देता है जिसे हल किया जाएगा जब 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 फ़ंक्शन का उपयोग करना।

संबंधित मुद्दे