Я портирую несколько сценариев с Watir на Selenium-RC, чтобы понять, насколько сложными могут быть изменения для нашей организации.
У меня есть таблица с классом «глобальный список», которая содержит 4 столбца, каждый столбец с неупорядоченным списком и каждый элемент списка, содержащий слово с гиперссылкой.
В Watir я бы просто использовал:
@browser.table(:class, /global-list/).links.each {|link| puts link.text,link.href}
С Selenium, похоже, нет такого простого способа сделать это. Я хочу, чтобы все ссылки (href и текст) из этой таблицы. Сначала я думал, что мой Xpath неверен, потому что он покажет мне только первый столбец (из 4) или первый элемент href.
puts @browser.get_xpath_count("//table[@class='global-list']//a[@href]")
- дает мне результат 64 ссылки (общее количество по всем 4 tr и / или ul).
puts @browser.get_text("//table[@class='global-list']//a[@href]")
- дает мне один текстовый результат (только первый td в первом tr).
puts @browser.get_text("//ul[@class='global-list']")
- дает мне только первый столбец текста (первый ul в первом tr).
Я новичок в Selenium, но я прочитал документацию и доступные методы (http://selenium -client.rubyforge.org / ) и пока не вижу простого решения.
Я также попробовал метод локатора DOM, но если get_text или get_attribute - мои единственные варианты, я не смогу улучшить свои результаты таким образом.