Изменение: я допустил ошибку в табличных данных, которые я изначально опубликовал. Коррекция выделена жирным шрифтом.
Я пишу Python для Selenium RC. В приведенном ниже документе я пытаюсь выбрать строку таблицы, которая содержит "Соединенные Штаты" и "1", но селектор всегда выбирает строку, которая содержит "Соединенные Штаты" и " 214 ". Кажется, я знаю, почему. Похож: contains() соответствует "1" в 214, и эта строка выбрана.
Это мой синтаксис выбора:
self.selenium.click("css=table#filltbl tr td:contains(%s) + td:contains(%s)"%(country, area_code))
где страна == "Соединенные Штаты" и area_code == "1". Кажется, что смежный бразильский комбинатор игнорируется.
Как я могу сделать: contains() соответствует точно "1"?
Спасибо и извините за путаницу.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
. . .
<table class="wrapper" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<table id="filltbl" class="tfill" cellspacing="0" cellpadding="0">
<tbody>
<tr class="fill">
<td>United States</td>
<td>214</td>
<td> </td>
</tr>
<tr class="fill">
<td>United States</td>
<td>1</td>
<td> </td>
</tr>
</tbody>
</table>
. . .
проверьте некоторые примеры, которые могут быть полезны для создания сложных css3-локаторов