Ответ 1
Сравнение с 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
false в булевом контексте, но Nokogiri::XML::Node
не будет. Я также переключился на нотацию CSS, поскольку я нахожу это более ясным, чем XPath, для простых вещей, подобных этому, но вы можете использовать at_xpath
или загрузите XPath или селектор CSS в at
, если вам это нравится.
Кроме того, три метода at
возвращают первый соответствующий элемент или nil
, поэтому они являются хорошими вариантами, если вы просто хотите проверить существование.