Selenium CSS локатор пространство в локаторе - PullRequest
5 голосов
/ 08 сентября 2010

Я знаю, что селен может использовать локаторы CSS.

Я знаю, что синтаксис выглядит примерно так:

xpath = // div [@ id, 'topLeft') // span [содержит (@ класс, 'имя')]
или css = # topLeft .name

Теперь, что если .name выглядит следующим образом: // span [содержит (@ класс, 'имя с пробелом')]

Тогда это будетсбой ... КАК искать локатор, в котором есть место?

Спасибо!

РЕДАКТИРОВАТЬ Решение: css = span.name.with.space

Ответы [ 2 ]

5 голосов
/ 08 сентября 2010

Имена классов не могут содержать пробелов.Однако вы можете определить несколько классов для одного элемента, поместив пробел между ними.Подробнее смотрите в разделе id и идентификаторы классов в спецификации HTML .

Вы должны иметь возможность использовать локатор CSS, используя только один из классов.

Если это не сработает, дважды проверьте ваш селектор CSS с помощью инструмента, подобного Firefinder дляFireBug .Я смог использовать Selenium-IDE с элементом, который имел два класса.Для HTML

<div class="c1 c2">
    <span class"s1">Test</span>
</div>

я использовал селектор

css=div.c1 span
0 голосов
/ 01 ноября 2015

С CSS это проще, чем использовать длинный xpath:

span.class1.class2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...