PhantomJS从对象数组获取属性

时间:2018-10-17 13:14:02

标签: javascript node.js phantomjs

我有一个带有scrollHeight的数组和一个带有图像的数组,以从中渲染视频。

var delayArray = [
    { startDelayPosition: 920 },
    { startDelayPosition: 1640 },
    { startDelayPosition: 2786 },
    { startDelayPosition: 4500 }
     ];

然后我使用循环来迭代带有图像的数组,并尝试检查当前帧是否使用scrollHeight进入范围,我需要直接使用该scrollHeight多次复制此帧,以模拟情况,因为用户停止滚动页面并观看某事(例如几秒钟)。但是,当我尝试在循环中使用该数组的元素时,我从数组中得到了我期望的元素。例如,

[{"startDelayPosition":2013}]

但是,如果我尝试从对象中获取价值,那么它总是等于未定义的价值。

for (let i = 0; i < videoDuration; i += 1) {
let singleValue = page.evaluate((delayArray, scrollStep, i) => {
  return delayArray.filter(v => Math.ceil(v.startDelayPosition / 
      scrollStep) == i);
          }, delayArray, scrollStep, i);
                    console.log(JSON.stringify(singleValue[0].startDelayPosition));

TypeError: undefined is not an object (evaluating 'singleValue[0].startDelayPosition')

我想PhantomJS在访问这样的结构方面有一些限制。或者我做错了。

0 个答案:

没有答案