Не пытайтесь играть в сложные CSS с Selenium.Вы можете попробовать что-то, что вы использовали в jQuery, но это не существует в CSS или, по крайней мере, в текущей версии CSS, поддерживаемой браузером, на котором вы это пробовали.'nth' может быть примером этого.
Итак, упрощая его до:
css=table#playlistTable tr:first-child span.playlistNumDisplay.smallFont
Вы могли бы даже подумать об упрощении, в зависимости от того, какие части селектора вам нужныи которые не перекрываются с другими элементами.
.
Обратите внимание , что :first-child
- это CSS 2.1, тогда как :nth-child()
и селекторы значений атрибутов (как в [class='...']
) - это CSS 3, что означает больше поддержки браузера для первого, чем для других.
.
Одна вещь, которая также помогает, - это использование локатора jQuery, который может быть реализован так:
Как добавить локаторы JQuery в Selenium Remote Control
Конечно, будут ограничены страницы, поддерживающие jQuery.Кстати, мы использовали это именно на очень крупном сайте электронной коммерции довольно успешно.