@FastSpace подскажи, это какую функцию имеешь ввиду?
Условно говоря у меня идут действия от одного к другому.
Проверка существования элемента, если его не видно значит нужно выполнить клик по элементу
Если ошибка клика по элементу, т.к он не найден, ставить проверку существования элемента отвечающего за капчу?
Как можно реализовать опечатки ?
-
Допустим есть текст:
Съешь ещё этих мягких французских булок, да выпей чаю
Допустим как можно реализовать что на каждую букву в строке была 2% вероятность на замену ее из списка этой буквы, допустим у буквы С возможна замена на м,ч,[<BACK>] в случае когда 2% попало выйдет:
Мъешь ещё этих мягких французских булок, да выпей чаю
и так оно каждую букву проверяет на вероятность и меняет рандомно из списка для этого символа, или еще есть какие идеи?
-
Можно делать так (ниже чистый JavaScript, для вывода результата можно запустить в своем родном браузере в консоли):
var text = 'Съешь ещё этих мягких французских булок, да выпей чаю' //Нужный текст var object = { //Какие буквы и на что можно заменять 'С': ['S','('], 'с': ['s','('], 'о': ['0','()'], 'н': ['n','|-|'], 'з': ['3'] } function replacement(text, object, chance) { //Функция изменения буквы с указанным шансом (chance) function randomChance() { //Функция случайного шанса var random = Math.random() * 100 //Случайное число от 0 до 99 return (random < chance) ? true : false //Шанс включить замену текста } var symbols = text.split('') //Разбиваем текст на символы for (var i = 0; i < symbols.length; i++) { //Замена символов if (randomChance()) { //Если сработал шанс, продолжить замену, иначе не менять for (var key in object) { //Поиск символа в объекте if (key === symbols[i]) { //Если в объекте нашелся символ, продолжить замену, иначе не менять //Просто лог, чтобы видеть изменения в консоли. Можно удалить console.log('Позиция: ' + (i+1) +' - Изменяю букву "' + symbols[i] + '"' + ' на "' + object[key][Math.floor(Math.random() * object[key].length)] + '"') symbols[i] = object[key][Math.floor(Math.random() * object[key].length)] //Заменить символ на случайный break; } } } } return symbols.join('') //В конце склеить массив измененных букв в строку } var result1 = replacement(text, object, 2) //Применить функцию замены букв с шансом в 2% var result2 = replacement(text, object, 50) //Применить функцию замены букв с шансом в 50% var result3 = replacement(text, object, 100) //Применить функцию замены букв с шансом в 100% console.log('Шанс замены 2%. Результат: ' + result1) console.log('Шанс замены 50%. Результат: ' + result2) console.log('Шанс замены 100%. Результат: ' + result3)А в BAS можно использовать так. Пример проекта: ReplaceSymbolsChance.xml
Это в основном для спама. Логика примерно такая: каждый символ с указанным шансом может измениться на то, что нужно.
-
@jofamo2305 о, homoglyphs
-
@jofamo2305 Видел как-то сервис, который опечатки генерирует.