Сравнение с true
- неправильный путь. Вызов at
вернет nil
, если ничего не найдет, так:
if page.at_css('div.errorMsg')
puts 'Error message found on page'
else
puts 'No error message found on page'
end
- это один из способов, поскольку nil
в логическом контексте неверен, а Nokogiri::XML::Node
не будет. Я также переключился на CSS-нотацию , так как нахожу это более понятным, чем XPath, для простых вещей, подобных этой, но вы можете свободно использовать at_xpath
или передавать XPath или селектор CSS на at
если тебе это нравится больше.
Кроме того, три метода at
возвращают первый соответствующий элемент или nil
, поэтому они являются хорошим выбором, если вы просто хотите проверить существование.