Nightwatch无法使用xpath定位元素

时间:2017-08-22 22:33:16

标签: nightwatch.js

我是Nightwatch的新手并试图编写一个简单的测试。我收到以下错误。

quantum.multithreaded

我也试过

ERROR: Unable to locate element: "//label[data-id="CC"]" using: xpath

    let suite = {
  "Test 1.": function (client) {
    client.useXpath();
    page = client.page.configure.deviceProperties.default();
    page.navigate(); 
    page.waitForLoader();
  }, 

  "column selector": function(client){

    page
    .verify.containsText('//label[data-id="CC"]', 'CC')

    client.pause(100);
  }

我做错了什么?提前致谢。

-dj

2 个答案:

答案 0 :(得分:0)

该属性必须包含前缀@ using xpath(如您所指定) 比如“// label [@ data-id ='CC']”哪个应该有效 在CSS中它看起来像“label [data-id ='CC']”

在测试之前添加等待步骤,如waitForElement

[使用xpath]

page.waitForElementVisible("//label[@data-id='CC']", 2000, false, function(result){
  if (result.status === 0) {
     page.verify.containsText("//label[@data-id='CC']", 'CC')
  }
});

或期望:

page.expect.element("//label[@data-id='CC']").text.to.contain('CC').before(2000);

答案 1 :(得分:0)

使用('//label[@data-id="CC"]', 'CC'),您应该在浏览器控制台中尝试使用xpath来测试xpath是否正确。