首页 文章

PhantomJS无头浏览器

提问于
浏览
0

我必须自动化一个测试用例,在该测试用例中创建特定仪表板中的列表 . 我们决定使用PhantomJS无头浏览器 . 由于我是新手,我尝试自己创建测试 . 以下是我打开目标网站时所遵循的步骤 .

  • 创建目录 phantoms

  • cd phantoms 并使用命令 npm install phantom --save 安装了幻像模块

  • 创建文件 createlist.js

createlist.js内容:

var phantom = require('phantom');
var page = require('webpage');
page.open('http://facebook.com', function(status) {
  console.log("Status: " + status);
  if(status === "success") {
    page.render('example.png');
  }
  phantom.exit();
});

当我执行命令 node create_list.js 时,我收到以下错误:

page.open('interact2.responsys.net/interact/jsp/jindex.jsp&#‌​39;, function(st atus) { ^ TypeError: page.open is not a function at Object.<anonymous> (C:\Users\shilshet\New folder\phantom\create_list.js:3 :6) at Module._compile (module.js:413:34)

如果我尝试执行命令

phantomjs  C:/Users/shilshet/New folder/phantom/create_list.js

我收到了这个错误

bash: phantomjs: command not found

注意:我正在使用cygwin来执行命令

我错了什么?我也将phantomjs模块安装在与node.js相同的文件夹中 .

除了使用无头浏览器之外,有没有人能让我知道,如何通过REST API调用在Oracle Responsys中创建配置文件列表?

2 回答

  • 0

    虽然这里的第一个答案应该有效,但它并不是实现所需要的最佳方式 . 解决问题的更简洁方法是将phantomjs可执行文件的位置添加到文件中定义的PATH变量,例如〜/ .bash_history .

    该文件可能未定义,因此您可能需要创建该文件,然后添加PATH =“/ path / to / phantomjs / executable”

    如果您更喜欢通过GUI编辑PATH var:Edit PATH variable via Windows GUI

    您需要执行此操作的原因是,您的系统本机迭代'PATH'变量中定义的路径,以确定可执行文件的位置 . Since phantomjs is not included in the PATH variable (nonexistent in the environment), and you try to run 'phantomjs', your system simply does not know which executable to call (or rather it doesn't know it exists)

    这是更好的方法的原因是:

    • 你也看起来更干净了

    • 如果从多个文件中调用phantomjs会发生什么情况,并且存储phantomjs的位置会发生变化?如果您在任何地方明确键入phantomjs的绝对路径,那么您需要更改键入它的每个地方!恶梦!使用这种方法,您只需在一个地方更改它;定义PATH变量的文件

    • 它使它混乱,但在这种情况下添加它是有道理的

    为此:“除了使用无头浏览器之外,有没有人让我知道,如何通过REST API调用在Oracle Responsys中创建配置文件列表?”......我建议另外提出一个问题 . 我个人不知道,但如果你提出新问题,你可能会得到一个人的支持 .

    希望这可以帮助!如果您需要任何帮助,请告诉我 .

  • 1

    你混淆了两种运行PhantomJS的方法 .

    更简单,更简单的方法是从命令行启动PhantomJS并将脚本路径作为参数 . 在Windows上你会这样做:

    "C:/Users/shilshet/New folder/phantom/phantomjs.exe" "C:/Users/shilshet/New folder/phantom/create_list.js"
    

    请注意这里的引号,因为文件名中有空格,所以需要它们 .

相关问题