Selenium WebdriverIO не видит все тексты опций списка ReactJS

товарищи!

Я столкнулся с проблемой получения текста из элемента, что является вариантом раскрывающегося списка ReactJS. Напомню, что версия webdriver - 3.6.0, Chromium - 63.

Фрагмент DOM:

<div class = "Select-menu-outer" data-reactid = ".0.1.3.2.0.0.0.0.2.3.3.3.0.1.0.3.3:1.3.3.3.0.1.$0.1.0.0.$0.0.0.0.0.4.0.3.2">
 <div class = "Select-menu" data-reactid = ".0.1.3.2.0.0.0.0.2.3.3.3.0.1.0.3.3:1.3.3.3.0.1.$0.1.0.0.$0.0.0.0.0.4.0.3.2.0">
  <div class = "Select-option is-selected is-focused" data-reactid = ".0.1.3.2.0.0.0.0.2.3.3.3.0.1.0.3.3:1.3.3.3.0.1.$0.1.0.0.$0.0.0.0.0.4.0.3.2.0.$option-0-202004">Not started</div>
  <div class = "Select-option" data-reactid = ".0.1.3.2.0.0.0.0.2.3.3.3.0.1.0.3.3:1.3.3.3.0.1.$0.1.0.0.$0.0.0.0.0.4.0.3.2.0.$option-1-202001">In progress</div>
  <div class = "Select-option" data-reactid = ".0.1.3.2.0.0.0.0.2.3.3.3.0.1.0.3.3:1.3.3.3.0.1.$0.1.0.0.$0.0.0.0.0.4.0.3.2.0.$option-2-202002">Done</div>
  <div class = "Select-option" data-reactid = ".0.1.3.2.0.0.0.0.2.3.3.3.0.1.0.3.3:1.3.3.3.0.1.$0.1.0.0.$0.0.0.0.0.4.0.3.2.0.$option-3-202003">Undone</div>
 </div>
</div>

Фрагмент JavaScript (раскрывающийся список к этому моменту открыт; я буквально вижу варианты на экране):

$('div.Select-menu-outer>div.Select-menu').$$('div').map(elmt => {
        console.info('element - ' + elmt.getText());
      });

Выход:

element - 
element - 
element - 
element - Undone

Раньше я не видел такого поведения. А ты? Я не понимаю, почему Selenium не распознает текст первых трех элементов, но распознает последний.

Не могли бы вы мне что-нибудь предложить? Куда мне углубиться?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
136
1

Ответы 1

Очень интересная ситуация. Я попытаюсь использовать это, чтобы увидеть, работает ли это:

$('div.Select-menu-outer>div.Select-menu').$$('div').map(elmt => {
    elmt.waitForText(3000);
    console.info('element - ' + elmt.getText());
  });

Другие вопросы по теме