量角器,如果其他人具有相同的className和tagName,如何获取特定元素

时间:2018-05-24 13:57:29

标签: javascript class protractor cucumber console.log

我正在使用带有Javascript的Cucumber和量角器进行自动化测试。我需要测试是否存在页面上的块标题,但我也有其他类名为“标题”。此字段是编辑性的,因此可以突然更改文本。我该如何正确地使用这个元素? PS:如果有人有想法或者可以告诉我为什么console.log永远不会在我的项目上工作,那将会很感激。谢谢!

这是我的hmtl代码:

<div class="titleH1"> 
  <div class="title-component"> 
    <div class="inner-container"> 
      ::before
      <span class="icon"> //this element has child. But here is closed
      <h1 class="title">Title</h1>
      (...)

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

而不是使用 $('h1.title') 你可以使用
$('div.titleH1 div.title-component div.inner-container h1.title')
这更具体。

console.log()的问题通常是由于javascript的异步性质造成的。使用.then()可能会解决这个问题。 EX:

$('element').getText().then(function(value) {
    console.log(value);
});

这是关于.then()的有用article

答案 1 :(得分:0)

element(by.xpath("//div[@class='title-component']//h1[text()='Title A']")).isDisplayed();

// change `Title A` to the one you want to find