Я не знаю, является ли это вашей проблемой или нет, но когда я попробовал wallaby на этом html:
<p class="results"><div class="green">That's all folks!</div></p>
с этим find()
:
find(css(".results", count: 1))
Я получил ошибку:
** (Wallaby.QueryError) Ожидается, что найден 1 видимый элемент, который соответствует css '.results', но 0 видимых элементов найдено.
Но, если я изменю html на это:
<div class="results"><span class="green">That's all folks!</span></div>
и я использую тот же find()
(который, кстати, не возвращает список, так что не следуйте этому с List.first()
), тогда валлаби найдет элемент. Согласно спецификации html5
, вы не можете поместить тег div в тег p, а открывающийся тег div
заставит браузер закрыть тег p , например:
HERE
|
V
<p class="results"></p><div class="green">That's all folks!</div></p>
Я не думаю, что wallaby может проанализировать нелегальный html и найти тег p. Вы можете попробовать запустить html через html validator , прежде чем пытаться использовать wallaby.