Selenium RC css селектор с соседним братским комбинатором выбирает неправильную строку таблицы

1

Изменение: я допустил ошибку в табличных данных, которые я изначально опубликовал. Коррекция выделена жирным шрифтом.

Я пишу 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>&nbsp;</td>
       </tr>
       <tr class="fill">
         <td>United States</td>
         <td>1</td>
         <td>&nbsp;</td>
       </tr>
     </tbody>
    </table>
. . .
  • 0
    Похоже, это не тот братский комбинатор, который игнорируется ... в любом случае, вы можете вместо этого попробовать локатор XPath?
  • 0
    Спасибо за ответ. Ты прав. Родственный комбинатор не игнорируется. Я сделал ошибку в данных, которые я разместил, и я исправил вопрос. Я не хочу использовать XPath, потому что он такой медленный.
Показать ещё 2 комментария
Теги:
selenium
css-selectors

1 ответ

-1
Лучший ответ

проверьте некоторые примеры, которые могут быть полезны для создания сложных css3-локаторов

  • 0
    Спасибо за ссылку. Это хорошая ссылка. Я решил проблему, как я описал выше.
  • 0
    @Paul, рад знать, что информация будет полезна для вас.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню