Использование xpath с Firewatir - PullRequest
2 голосов
/ 25 января 2011

Я только начинаю с ruby ​​и firewatir, поэтому я пытаюсь выяснить, является ли это только я, или что-то не так с 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]

1 Ответ

1 голос
/ 25 января 2011

Похоже, может быть ошибка с объединением: 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
=> ""
...