Phantomjs 是否可以将数据从客户端(浏览器)发送到Puppeter?

Phantomjs 是否可以将数据从客户端(浏览器)发送到Puppeter?,phantomjs,puppeteer,google-chrome-headless,Phantomjs,Puppeteer,Google Chrome Headless,我以前就被phantomjs创建了一个服务器端渲染,就像这样 客户端 // when all client ajax request and page render finished window.callPhantom('page.done') // when page not found window.callPhantom('page.fail') page.onCallback = function(status) { // when page render finished

我以前就被phantomjs创建了一个服务器端渲染,就像这样

客户端

// when all client ajax request and page render finished
window.callPhantom('page.done')

// when page not found
window.callPhantom('page.fail')
page.onCallback = function(status) {
  // when page render finished
  if(status == 'page.done') {
    // start render
  }

  // when page not found
  else {
    // response 404 page not found
  }
}
服务器端

// when all client ajax request and page render finished
window.callPhantom('page.done')

// when page not found
window.callPhantom('page.fail')
page.onCallback = function(status) {
  // when page render finished
  if(status == 'page.done') {
    // start render
  }

  // when page not found
  else {
    // response 404 page not found
  }
}
我现在想从幻影变成铬制木偶演员

在所有客户端ajax请求完成后(如phantomjs),如何将数据从客户端(浏览器)传递到服务器(Puppeter)

是否可以通过使用chrome Puppeter来实现这一点?

用于将数据传递到页面。此示例将选择器字符串传递到页面进行评估:

(异步()=>{
const puppeter=require('puppeter')
const browser=wait puppeter.launch()
const page=wait browser.newPage()
第页('console',msg=>{
for(设i=0;i{
const el=document.querySelector(选择器);
console.log(el.src)
}“img#hplogo”);
等待浏览器关闭()

})();我和你面临同样的问题,这就是我得到的解决方案:

您可以使用该函数

它将把一个函数绑定到页面
窗口
,这样您就可以在客户端计算该函数,在
节点
端执行一些操作

文档中有一个例子


我希望这能对您有所帮助。

您想从目标页面传回数据还是渲染数据?我想这里可能有两个不同的问题。是的,我需要将数据从目标页面传递给Puppeter,因为服务器需要通过这种方式检查页面是否有效。当服务器获得此传递数据事件时,Puppeter将开始呈现此页面,就像使用PhantomJS“callPhantom”一样方法请使用演示代码更新您的问题,演示您如何使用
callPhantom
,现在,我不太确定我是否了解您的解释。谢谢您的回答,我已经更新了我的问题。对不起,我想我没有描述足够的细节。我更新了我的问题。我想把数据从客户端(浏览器)传递到服务器(木偶演员)。