2011-01-25 3 views
2

Я только начинаю с ruby ​​и firewatir, поэтому я пытаюсь выяснить, что это только я, или если что-то сломано firewatir.Использование xpath с Firewatir

Я пытаюсь выбрать элемент, используя xpath.

Это работает:

browser.link(:id => "about").exists #true 

Это не удается

browser.link(:xpath => "//*[@id='about']").exists #false 

Однако, это работает так:

browser.element_by_xpath("//*[@id='about']").exists #true 

Это на firewatir 1.7.1

$ ruby -v #ruby 1.9.2p136 (2010-12-25 revision 30365) [i686-linux] 
+0

Я не использовал Ruby 1.9.2 с watir, но я не думал, что это повлияет на что-то подобное. –

ответ

1

Похоже, там может быть ошибка с сочетающей: 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 
=> "" 
Смежные вопросы