如何在 CasperJS 中填写 div 中没有 ID 和名称的输入字段

How to fill input field in div without id and name within CasperJS

我有下面的页面代码,它有两个输入字段,一个用于用户名,一个用于密码:

在其他一些页面上似乎很容易,使用下面的 casperjs 代码我就可以登录:

...        
    test.assertExists('form[name="loginForm"]', "Login form is found");
    this.fill('form[name="loginForm"]', {
              'userId': 'admin',
              'password': 'admin'
    }, true);
...

但在这种情况下,输入字段没有可用于填充函数的名称!

从页面上我可以识别出表单名为 'loginForm',但是如何填写没有 ID 和名称的输入字段?

重要的是我需要在这一步之后保持登录状态才能继续同一页面上的其他测试。

您可以使用任意 CSS 选择器与 casper.fillSelectors() 而不是 casper.fill()

你的情况可能是

this.fillSelectors('form[name="loginForm"]', {
    'input.eaLogin-loginUsername': 'admin1',
    'input.eaLogin-loginPassword': 'admin2'
}, true);