image.png
image.png
Привет, я новичок в этом всем и хочу разобраться как можно с помощью IMAP получить код, пробовал через классы и подобное, но увы у моего сайта с услугами почт нету class)))
- на этом скрине все видно. Поэтому подскажите как иначе можно доставать КОД из почт, буду ОЧЕНЬ благодарен.
@Roy-Mustang! Привет, уже сделал так и получил вот такое значение
по какой-то не виданной мне причине.
@sewq Он так делает потому что в коде html может быть не одно совпадение на такой xpath запрос, это значит что вам нужно к этому элементу спускатся вниз с какой-то зацепки, я не вижу всего html поэтому подсказать мне тяжело к чему подцепится
Можете для удобства зайти на этот сайт: https://html.onlineviewer.net/
Здесь вставить код и нажать кнопку "preview fullpage" тогда сможете иметь дефолт инструменты разработчика и видеть совпадения
@Roy-Mustang
по моим ощущениям и моему взгляду там не за что зацепиться.. Даже если я пытаюсь за что-то зацепиться мне выдает XPATH_TEXT - "Your email confirmation code", без самого КОДА потому что там есть div - родительский элемент у КОДА из почты. Так-же я докопался до класса который берет в том числе текст, но даже там я не получаю число...
, 
@Roy-Mustang Пробовал, получилось это 
@sewq Can using Execute code
function htmlToText(html) {
var str = String(html || '');
str = str.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi, '');
str = str.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi, '');
str = str.replace(/<!--[\s\S]*?-->/g, '');
str = str.replace(/<[^>]+>/g, '');
str = str.replace(/ /g, ' ');
str = str.replace(/</g, '<');
str = str.replace(/>/g, '>');
str = str.replace(/&/g, '&');
str = str.replace(/"/g, '"');
str = str.replace(/'/g, '\'');
str = str.replace(/&#(\d+);/g, function (m, n) {
return String.fromCharCode(parseInt(n, 10));
});
str = str.replace(/&#x([0-9A-Fa-f]+);/g, function (m, n) {
return String.fromCharCode(parseInt(n, 16));
});
str = str.replace(/\s+/g, ' ');
str = str.replace(/^\s+|\s+$/g, '');
return str;
}
function getCodeByKeyword(text, keyword) {
var idx = text.indexOf(keyword);
if (idx === -1) return null;
var sub = text.substring(idx + keyword.length);
var match = sub.match(/\d{6}/);
return match ? match[0] : null;
}
VAR_EMAIL_CONTENT = htmlToText(VAR_EMAIL_HTML)
var match = getCodeByKeyword(VAR_EMAIL_CONTENT, 'Your code is')
if (match) {
VAR_EMAIL_OTP = match
} else {
fail_user("Error get email otp")
}
Change 'Your code is'
Регулярка в помощь :)
И не обязательно брать весь текст кучу а то что по краям и Середину нужную выделить и всё :)
https://bablosoft.github.io/RegexpConstructor/
Сам и с Фирст майл и Нотлетерс работаю и регулярка да и нах голову ломать :)))
Реал ток вчера и с регера в Автори з что надо Код если делал и воткнул с регера, а не тут то было и там уже другое в Модуле Почты даже надо Галку ставить и потом с от тель выдёргивать код.
Но справился хоть и знаю Скрипт с Регуляркой тяжелей но, там и мощей в том так не треба :)))
Истина то она порой рядом и порой даж костыльно, но главное робит :)))

у меня так тоже инсту регаю
@Staasoncheg СПАСИБО. Выручил!