0

我正在尝试学习 phantomjs 以自动从现在受 javascript 保护的站点获取数据。

我需要点击一个链接;根据这个问题,我尝试按照这篇文章将自定义函数“eventFire”添加到我的 phantomjs 文件中。但无论我尝试过什么,它都会输出ReferenceError: Can't find variable: eventFire

有人可以告诉我这样做的正确方法吗?因为我没看到,谢谢。

我尝试完全复制该函数但没有奏效,所以我也尝试了同样的结果:

eventFire = function(el, etype){
  if (el.fireEvent) {
    (el.fireEvent('on' + etype));
  } else {
    var evObj = document.createEvent('Events');
    evObj.initEvent(etype, true, false);
    el.dispatchEvent(evObj);
  }
}
4

1 回答 1

1

如果您使用的是page.evaluate,则可以将函数作为参数传递。

page.evaluate(function(eventFire_fn) {
    // click your 'element'
    eventFire_fn(element, 'click');
}, eventFire);
于 2013-12-27T08:49:07.230 回答