casperjs命令行参数失败

时间:2019-03-12 03:28:30

标签: command-line casperjs options

对每个人来说都很明显,但是我正在学习,但对我而言却不是:)

在sendkeys函数中,如果我通过命令行指定pid,则pid失败。如果我在文件中指定它,它将起作用。它确实得到了设置,因为回声对这两种方法都有效。当我说失败时,我的意思是1910193不会出现在屏幕截图的框中。为什么?

我的命令

rm screenshot.jpg; casperjs mytest.js --pid="1910193"

我的代码

var casper = require('casper').create()
var x = require('casper').select

// obviously, these are not both used at the same time
var pid = '1910193'; // specified in file
var pid = casper.cli.get("pid") // specified on cmdline

casper.echo(pid); // works with both specification methods

casper.userAgent('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1');
casper.start('https://myurl.net');
casper.then(function () {
   this.sendKeys('#Account', pid);
   console.log('searching.....');
   casper.capture('screenshot.jpg')
});

casper.run();

1 个答案:

答案 0 :(得分:0)

这是因为sendKeys只能使用字符串。 pid通过命令行作为int传递。我将其转换为字符串,然后按预期工作。

var pid = String(casper.cli.get("pid"));