Похоже, может быть ошибка с объединением: xpath и нескольких атрибутов, потому что этот запрос XPath у меня тоже не работает, когда я использую: xpath =>:
irb(main):021:0> ff.link(:xpath => "//*[@id='about']").exists?
=> false
Но это работает, если я использую стиль с одним атрибутом (запятая вместо =>), чтобы найти элемент, и использую "существует?" с вопросительным знаком на конце.
Не уверен, почему, но и "существует", и "существует?" определены, и они имеют различное поведение:
irb(main):018:0> ff.link(:xpath, "//*[@id='about']").exists?
=> true
irb(main):019:0> ff.link(:xpath, "//*[@id='about']").exists
=> ""