javascript - NightwatchJs 在控制台、属性和值中打印元素文本时出现问题

标签 javascript selenium nightwatch.js

我在让我的守夜人测试从网页获取数据并将其打印到我的控制台时遇到了一些问题。如果有人能指出我正确的方向,我将非常感激。

每次我尝试将数据获取到我的控制台日志时,它只返回 [object Object]。我对测试自动化还很陌生,无法从谷歌搜索中理解这一点。代码如下(测试站点为google frontpage:

module.exports = {
  tags: ['google'],
  'Demo test Google' : function (client) {
client
  .url('http://google.com')
  .pause(500);
  var msg = "---> : ";

client.expect.element('body').to.be.present;

client.getText("#gbw > div > div > div.gb_7d.gb_R.gb_le.gb_ee > div:nth-child(1) > a", function(result) {
client.expect.element("#gbw > div > div > div.gb_7d.gb_R.gb_le.gb_ee > div:nth-child(1) > a").text.to.equal("Gmail");
console.log(msg.toString()+result);
});

client.getValue("#tsf > div.tsf-p > div.jsb > center > input[type='submit']:nth-child(1)", function(result) {
client.expect.element("#tsf > div.tsf-p > div.jsb > center > input[type='submit']:nth-child(1)").to.have.value.that.equals("Sök på Google");
console.log(msg+result);
});

client.end();
}
};

最佳答案

我最近遇到了这个问题,我解决这个问题的方法是使用“textContent”来捕获元素之间的字符串。

在这个例子中:

<div data-v-407a767e="" class="alert alert-success alert-styled-left alert-bordered text-center">
"Success! Check your email for the password reset link. "
<br data...>
<a data-v-407a767e="" class="alert-link">Go back to login.</a>
</div>

我使用以下方法检索字符串:

client.getAttribute('selector', 'textContent', function(result){
        console.log("Value: ", result.value);
    });

你可以看看这个 link关于使用 textContent 属性。

关于javascript - NightwatchJs 在控制台、属性和值中打印元素文本时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33669388/

相关文章:

E11 上的 JavaScript readAsBinaryString 函数

带一个星号的 JavaScript 正则表达式字符串

javascript - 页面对象: visit <page_url> in nightwatch. js

selenium - 为什么守夜人找不到我的dom?

javascript - 虚拟地球未捕获类型错误 : undefined is not a function

javascript - 错误 每个 then() 应该返回一个值或抛出 Promise/Always-return

python - 我必须将 Firefox 配置文件放在哪里才能与 Splinter 一起使用

python - 无法强制脚本不在控制台中打印错误日志详细信息

python - Beautiful Soup 没有从网站上获取一些数据

javascript - Nightwatch.js 通过配置文件设置测试环境