Как записать текстовые значения в маскированном поле? - PullRequest
0 голосов
/ 06 октября 2011

Мне нужна помощь, связанная с замаскированным полем в веб-форме. Синтаксис поля телефона: (___)___-_____, если я выполню этот код в оболочке ruby ​​

browser.text_field(:id => 'txtphone').set '7893457889'

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

browser.text_field(:id,'txtphone').fire_event("unmask")

, затем напишите приведенный выше код еще раз.

browser.text_field(:id => 'txtphone').set '7893457889'

но все равно ничего не произошло. пожалуйста, помогите мне ... я делаю правильно или все еще есть ошибка.

1 Ответ

0 голосов
/ 07 октября 2011

Если бы вы могли предоставить пример HTML-кода страницы, вам будет легче дать ответ с большей вероятностью.

Учитывая то, что вы предоставили нам для работы, мы должны пойти по обычному пути, как обычно работают такие маскированные поля ввода, и идти оттуда. Обычно страницы с такими вещами вызывают функцию javascript, которая запускается определенным событием. Чаще всего это такое событие, как onchange, но это может быть что-то вроде нажатия клавиши или любое другое, даже если обычный пользователь печатает или вставляет текст в ячейку.

Скорее всего, вам нужно поэкспериментировать с использованием метода .fire_event для запуска правильного события javascript или, если не получится полностью, сделать прямой вызов для выполнения правильного сценария

При этом не путайте имя скрипта, например «applymask» или что-то подобное, с событием javascript, которое вызывает этот скрипт.

Ответы на этот вопрос Как узнать, какие события JavaScript сработали? содержат полезную информацию о том, как использовать firebug или инструменты разработчика chrome, чтобы выяснить, какие события запускаются при взаимодействии с объект на экране браузера.

Обновление: вместо того, чтобы отвечать здесь, чтобы указать, был ли этот ответ каким-либо образом полезным, ОП повторно разместил здесь свой вопрос Проблема с замаскированным текстовым полем и копаясь на демонстрационном сайте продавца ( с тех пор он на самом деле опубликовал часть HTML-кода, когда мы его попросили) Я смог найти решение с помощью watir-webdriver, который работал для него.

...