@ggrey211 7z sfx builder
Частичное вхождение текста в Xpath - возможно ли это в BAS?
-
Здравствуйте!
Сейчас хочу настроить автозаполнение форм обратной связи на сайтах (универсальный).
Столкнулся с проблемой, что на каждом сайте, например, поле INPUT указано по-разному, например:<input name="name" type="text">
<input id="form-field-name" name="form_fields[name]" size="1" type="text">
<input id="nameorder" name="name" type="text">
<input name="your-name" size="40" type="text">
<input name="your-name" size="40" type="text">
<input name="name">
<input autocomplete="no" id="your_name" type="text">
<input name="name" type="text">
<input id="name_f" maxlength="25" name="name" type="text">
<input maxlength="150" name="Имя " type="text">Т.е. в большинстве случаев есть упоминание "name". Но я не знаю, уже перепробовал все варианты, которые только мог, уже искал на других формах по xpath, ничего не работает...
Может подскажете, можно ли сделать универсальный код для xpath, чтобы если в input есть УПОМИНАНИЕ текста name, чтобы оно заполнялось автоматически?
Может тут надо не xpath использовать, а что-то другое?Нашел вроде решение на другом форуме, но оно не работает почему-то, может как-то синтаксис не тот указываю?
XPATH>//input[compare(@class,'name') >=0]
Пожалуйста, подскажите, если кто-то знает, уже неделю ищу решение, пока безрезультатно((
-
>XPATH> //input[contains(@*, 'name')]Твоя задача не так решается. Можешь ложно-положительно левый input зацепить.
У этого input в 85% случаев есть какой-нить текст, сначала в цикле пробегаешься по сайту и парсишь все тексты у этих инпутов (весь текст до родителя инпута) . Потом можно сравнить с массивом что получилось и если input содержит определенный текст (Введите телефон, Введите почту, Введите имя) и т.д, то уже начинать вводить в него интересующий тебе текст.
Я так делал закрывашку куки, написание в чат сайте и т.д. Пробив 85%
-
@brotok Да, причем даже если в input не будет никаких упоминаний name или phone (а такие упоминания могут быть у предков например)
Можно комбинировать.Итого крч
Решение твоей проблемы зовут - Document.evaluate()
https://developer.mozilla.org/ru/docs/Web/API/Document/evaluate