попробуйте это, найдите нужную строку, используя регулярное выражение для соответствия строке, содержащей слово «Rate», затем получите текст третьей ячейки в строке.
myrate = browser.tr(:text, /Rate/).td(:index => 2).text
#or you can use the more user-friendly aliases for those tags
myrate = browser.row(:text, /Rate/).cell(:index => 2).text
Если слово «Оценить» может появиться в другом месте в другом тексте этой таблицы, но всегда является единственной записью во второй ячейке нужной строки, найдите ячейку с этим точным текстом, используйте родительский метод для поиска строка, содержащая эту ячейку, а затем получить текст из третьей ячейки.
myrate = browser.cell(:text, 'Rate').parent.cell(:index => 2).text
использование .cell
& .row
против .td
& .tr
зависит от вас, некоторые люди предпочитают теги, другие предпочитают более описательные имена. Использование того, что вы считаете, делает код наиболее читабельным для вас или других, кто будет с ним работать.
Примечание. Приведенный выше код предполагает использование Watir-Webdriver или Watir 2.x, в которых используется индексирование с нуля. Для более старых версий Watir измените значения индекса на 3
И, к сведению, я полностью согласен с комментариями других по поводу отсутствия тестируемости кода, который вы разместили. это ужасно Запрашивать что-то, чтобы найти подходящие элементы, такие как значения идентификаторов или имена, не так уж сложно с точки зрения упрощения тестирования страницы.