我正在尝试使用 coffeescript 和 casperjs (1.0.0-RC4) 来完成繁琐的登录,并希望填写一个使用 name 属性作为其字段的表单(例如<input type='text' name='accountname'></input>
)。我最初打算使用@fill 来完成表单,但是遇到了问题(我猜),因为 id 属性不在输入标签中。所以,我决定使用@sendKeys 方法,但它抛出了一个非常令人困惑的错误:
TypeError: 'undefined' is not a function (evaluating 'this.sendKeys('#accountname', developerAccountName)')
在此代码段中是否有明显的我做错的事情:
#!/usr/bin/env casperjs
developerAccountName = "user@user.com"
developerPassword = "password"
casper = require("casper").create(
verbose: true
logLevel: "debug"
);
casper.start "http://www.example.com"
casper.thenClick "#content .maincontent .image.first a"
casper.thenClick ".button.blue"
casper.then ->
if (@exists "#accountname") and (@exists "#accountpassword")
@sendKeys '#accountname', developerAccountName
@sendKeys '#accountpassword', developerPassword
@click "form .signin-button"
else
@echo "Couldn't find the fields"
casper.run ->
@echo "Complete."