транспортир, как взять конкретный элемент, если другие имеют одинаковые className и tagName - PullRequest
0 голосов
/ 24 мая 2018

Я использую огурец и транспортир с Javascript для автоматизированных тестов.Мне нужно проверить, есть ли блок Title на странице, но у меня есть и другие классы с именем "title".Это поле является редакционным, поэтому текст может быть изменен внезапно.Как я могу правильно принять этот элемент?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 голосов
/ 24 мая 2018
element(by.xpath("//div[@class='title-component']//h1[text()='Title A']")).isDisplayed();

// change `Title A` to the one you want to find
0 голосов
/ 24 мая 2018

Вместо использования $('h1.title') вы можете использовать
$('div.titleH1 div.title-component div.inner-container h1.title')
, что более конкретно.

Проблемы с console.log() часто связаны с асинхронной природой javascript.Использование .then(), скорее всего, решит это.Пример:

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

Вот полезная статья о .then().

...