Как узнать DOM и CSS адрес элемента для Selenium? - PullRequest
3 голосов
/ 14 октября 2010

У меня есть следующий элемент (окно входа):

<input type="text" style="font-family: Verdana; font-size: 11px; width: 180px;" id="ctl00_Content_ctl00_Login2_UserName" maxlength="50" name="ctl00$Content$ctl00$Login2$UserName">

Поскольку у меня есть Firebug, если я щелкну правой кнопкой мыши на элементе, он даст мне адрес XPath (//*[@id="ctl00_Content_ctl00_Login2_UserName"]).

Что касается веб-сайта Selenium , я полагаю, что смогу нажать на элемент также с помощью DOM и CSS .Как мне это сделать?Существует ли для этого простой инструмент (надстройка браузера)?Я просто не хочу быть ограниченным только id и xpath.

Ответы [ 4 ]

1 голос
/ 14 октября 2010

локатор CSS будет

css=#ctl00_Content_ctl00_Login2_UserName

локатор DOM будет

dom=document.getElementById('ctl00_Content_ctl00_Login2_UserName')

0 голосов
/ 16 октября 2010

В Selenium лучший способ выбрать элементы для сайтов asp.net (до 4.0) - использовать xpath, например:

// input [содержит (@ id, 'имя пользователя')] *

Если вы укажете полный идентификатор, как рекомендовано в другом месте, ваш локатор выйдет из строя, как только вы закроете элемент управления внутри другой панели.Конечно, ваш xpath может также потерпеть неудачу, если у вас есть другой ввод с идентификатором, содержащим имя пользователя, но это гораздо менее вероятно, чем при добавлении другой оболочки (например, на главной странице).

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

См. Ссылка на селен и прокрутите вниз там, где написано "Локаторы элементов" для других типов селекторов, которые вы можете использовать.

0 голосов
/ 16 октября 2010

Вы можете использовать firepath.Это расширение firebug и действительно хорошо подходит для формулировки CSS-локаторов.

0 голосов
/ 14 октября 2010

Другой способ составления идентификатора CSS:

css=input[id=ctl00_Content_ctl00_Login2_UserName]

Если вы используете IDE, сформулируйте идентификатор и нажмите кнопку «Найти», чтобы IDE (и RC, в свою очередь) могли получить доступ к элементу пользовательского интерфейса.

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