Подтвердить что ты не робот

Использование команды "ClickAt" selenium

Я смущен различием между командами Click и ClickAt в селене. Где я могу использовать команду ClickAt?

4b9b3361

Ответ 1

Вот что Selenium IDE говорит об этих двух командах:

click(locator)
Аргументы:

  • локатор: локатор элементов

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

И:

clickAt(locator, coordString)
Аргументы:

  • локатор: локатор элементов
  • coordString: указывает положение x, y (т.е. - 10,20) мыши событие относительно возвращаемого элемента локатором.

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

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

И clickAt используется, когда вы хотите "click" в позиции , обозначенной координатами мыши.


Я полагаю, что второй может быть полезен для некоторых "богатых" приложений - я его никогда не использовал... С другой стороны, я все время использую click.

Если у вас есть страница с элементами формы, ссылками, кнопками и т.д., вы, вероятно, обычно используете click: проще найти элемент, используя его id или classname, чем найти его позицию в пикселей на странице ^^

Ответ 2

Я заметил некоторые различия между click() и clickAt() при тестировании приложения ExtJS. Например, если я пытаюсь щелкнуть вкладку в Ext.TabPanel, команда click() не работает, хотя я предоставляю ей правильный xpath, а clickAt() отлично работает. Код выглядит следующим образом:

click("//li[@id='tab-panel-id__second-tab-id']/a[2]/em/span/span")

не работает, но

clickAt("//li[@id='tab-panel-id__second-tab-id']/a[2]/em/span/span","0,0")

работает. Обратите внимание, что координаты (0,0)

Я не могу понять, почему это происходит...

Ответ 3

Я тестирую приложение GWT, и мне кажется, что я должен использовать clickAt, если я хочу щелкнуть по node в виджетах дерева.

Ответ 4

Будьте осторожны при тестировании clickAt. Иногда двойной щелчок по команде приведет к появлению красного цвета. Вы измените линию, чтобы попробовать другие альтернативы, но ничего не получится. Но затем запустите ваш script, и строка clickAt будет в порядке с тем, что вы вводите.

Ответ 5

В нашем приложении есть виджет dojo, который работает только с clickAt("//span[@id='mastheadIconBar']/span[1]/span/span","0,0").

Не знаю, почему, но только click("//span[@id='mastheadIconBar']/span[1]/span/span") не работает.

Ответ 6

если вы используете IE, тогда вам нужно использовать clickAT.