Итерация по каждой строке и получение значения второго столбца. Если это значение - то, что вы ищете, выберите переключатель. Итак, в псевдокоде:
def select_radio_button(second_value):
for row = 0 to rows_in_table:
if (second_value == table_value(row)):
select_radio_button(row, 1)
Это требует написания table_value
и select_radio_button
, чего можно достичь, написав пару простых запросов XPath. Сделать это, не зная, что еще находится на странице, сложно, поскольку ни один из элементов не имеет идентификаторов. Итак, вы бы написали что-то вроде:
def table_value(row, column):
return get_text("//table[@class='myClass']//tr[%s]/td[%s]" % (row, column))
def select_radio_button(row, column):
check("//table[@class='myClass']//tr[%s]/td[%s]/input[@type='radio']" % (row, column))
Можно сделать это полностью с одним XPath, хотя читаемость сомнительна:
check("//table[@class='myClass']//td[text()='Dog']/../td[1]/input[1]")
Если вы много занимаетесь этим, возможно, стоит потратить некоторое время на создание абстракций для этого, чтобы ваши тесты не просто читались как строки XPath.