Текст есть в коде и только иногда появляется на странице. Как проверить его наличие на странице?

byhgalter

Новичок
Регистрация
01.11.2014
Сообщения
7
Благодарностей
0
Баллы
1
Приветствую всех. Я полный новичок и пишу свой первый шаблон - регистратор почты.

Я столкнулся со следующей проблемой:

Иногда логин, который я формирую, бывает занят в почтовом сервисе. То есть на странице регистрации, после ввода логина в соответствующее поле, сразу же отображается надпись "К сожалению, логин занят".

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

Так вот. Я делаю Tabs --> Data --> Take DOM и выбираю чекбокс Parse result и вставляю туда регулярное выражение, которое ищет текст.

Как видно из названия, независимо от того, уникальный логин прописан в поле или неуникальный, текст "К сожалению, логин занят" присутствует в коде страницы в любом случае. И только когда прописан неуникальный логин, этот текст появляется на странице. Но даже когда текст визуально есть на странице либо его нету, операция Tabs --> Data --> Take DOM и выбираю чекбокс Parse result в любом случае его находит, поскольку он есть в коде.

Вопрос: Как проверить наличие этого текста именно на странице, а не в коде?

Пробовал вместо Take DOM выбирать другие опции экшина Data. не помогает. Программа все равно парсит именно код страницы, а не то, что фактически на ней отображается.

Также пробовал выделять текст и правой кнопкой нажимать Create check for text presence. Тоже самое.

Также пробовал вытаскивать в переменную текст путем Article Extraction. И в этом случае, как на зло, как раз этот кусок текста не копируется.

Помогите новичку с этим камнем преткновения. Заранее спасибо.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 803
Благодарностей
8 866
Баллы
113
а если искать с помощью Tabs --> Data --> Take Text, то тоже находит?
по идее - не должно..
если ничего не помогает, тогда надо искать атрибут hidden в блоке текста, который проверяется, и если установлен hidden, то соответственно логин уникальный, если не hidden, то логин занят..
 
  • Спасибо
Реакции: byhgalter

byhgalter

Новичок
Регистрация
01.11.2014
Сообщения
7
Благодарностей
0
Баллы
1
а если искать с помощью Tabs --> Data --> Take Text

Так тоже находит. Он так тоже текст из кода берет, а не с визуальной страницы.

Спасибо за подсказку. Буду пробовать.
 

byhgalter

Новичок
Регистрация
01.11.2014
Сообщения
7
Благодарностей
0
Баллы
1
Спасибо за подсказку. Она помогла. Только пришлось еще отключить яваскрипт. Потому что этот текст как раз отображался через яваскрипт и имел один и тот же код в обоих случаях: когда отображался и когда нет.
После отключения яваскрипт, код стал разным.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 803
Благодарностей
8 866
Баллы
113
Спасибо за подсказку. Она помогла. Только пришлось еще отключить яваскрипт. Потому что этот текст как раз отображался через яваскрипт и имел один и тот же код в обоих случаях: когда отображался и когда нет.
После отключения яваскрипт, код стал разным.
если яваскрипт отключать, то отключается сама возможность проверять логин на уник..
ну если работает так, то классно..
а вообще, странно..
видимо процедура проверки не на аякс (яваскрипт) работает..
 

byhgalter

Новичок
Регистрация
01.11.2014
Сообщения
7
Благодарностей
0
Баллы
1
После отключения яваскрипт, логин не проверяется в реальном времени. Я перенес проверку после нажатия кнопки регистрации.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)