Можно ли нажать на текст, который не является ссылкой, используя watir - PullRequest
1 голос
/ 25 июня 2011

Я использую watir в браузере Firefox

Я ищу способ нажать на текст, который не является ссылкой.Я проверил, что текст существует на веб-сайте, используя

b.text.include? "Tasks"

. Я пробовал несколько разных способов щелкнуть по этому тексту, но все они оказались безуспешными, пока я пытался

b.link(:text, "Tasks").click
b.text.click "Tasks"
b.text(:text, "Tasks").click

есть ли способ нажать на этот текст, используя watir?любая помощь будет очень высоко ценится

Ответы [ 2 ]

4 голосов
/ 28 июня 2011

Если нажатие на этот текст, который не является ссылкой, приводит к чему-то, то вполне вероятно, что существует контейнерный элемент , который инкапсулирует текст, который «подключен» для выполнения некоторого конкретного JavaScript, когда определенное событие (например, onMouseDown или onClick) обнаружено. Возможно большое количество типов элементов (span, div, ячейка таблицы и другие) в зависимости от того, как разработчик разработал страницу.

Так как несколько контейнеров могут быть вложены (например, версия русских кукол), важно знать или выяснить, какой из них будет вызывать код на стороне клиента при нажатии. Для этого вам нужно посмотреть HTML-код страницы или использовать инструмент разработчика (они есть во всех современных браузерах), чтобы проверить DOM в окрестности текста, который «кликабелен»

Чтобы дать вам лучший ответ, который не является общим советом, Нам нужно посмотреть HTML для этой части страницы, чтобы иметь возможность определить, что это за элемент, и предложить правильные (как, что) значения и тип элемента, которые понадобятся для создания строки кода, которая будет щелкать по элементу или вызывать необходимое событие.

До тех пор, пока вы не предоставите эту дополнительную информацию (отредактируйте свой вопрос, чтобы добавить к ней информацию), ваш вопрос и, следовательно, ответы на него будут страдать от синдрома GIGO

2 голосов
/ 25 июня 2011

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

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

...