Получить текст из элемента узла Капибара - PullRequest
0 голосов
/ 02 июня 2019

Я пытаюсь получить текстовое значение заголовка таблицы с именем класса в Capybara. Я получаю элемент node в Capybara, но не могу получить текстовое содержимое класса, когда использую атрибут text. Как я могу получить текст элемента узла Капибара здесь?

html.erb

<% @tests.each do |test| %>        
    <th class="test_name_header"><%= test.name %></th>
<% end %>

capybara_test.rb

all(:css, '.test_name_header', :visible => false).each do |el|
      puts el.text
end

Этот код не печатает текст элемента. Ничего не печатается, но когда я puts el в приведенном выше коде, он печатает элемент узла.

1 Ответ

1 голос
/ 02 июня 2019

Документы для #text - https://www.rubydoc.info/github/teamcapybara/capybara/Capybara/Node/Element#text-instance_method - утверждают, что по умолчанию он получает только видимый текст. Поскольку вы указываете visible: false в своем вызове all, я предполагаю, что эти заголовки фактически не видны на странице. Если это так, то, как указано в документации, вам нужно будет сделать

el.text(:all)

чтобы получить невидимый текст.

...