Кликабельная капча



  • Подскажите, могу ли я значение капчи "3" (третий квадрат для клика)
    0_1492627633865_Снимок.PNG
    установить как имя переменной, что бы в дальнейшем, использовать значение переменной для "Кликнуть на элемент"? Посоветуйте как реализовать.



  • если в БАС варианты ответов отображаются в виде :nth-child(4), то вместо цифры можно подставить ответ_капчи+1, чтоб совпало с этой цифрой.(но это неточно:)



  • @denanotherday ответ капчи будет сразу записан в переменной капча_результа, как уже выше ответили нужно подставлять число в селекторе как порядковый номер элемента. Это будет работать если вы сами решаете капчу и в поле ответа укажите "3". А если хотите что бы какой-то сервис решал капчу, то тут вы будете получать от сервиса не порядковый номер, а результат капчи (судя по всему вы это и хотите сделать). В таком случае можно попробовать способ который кажется предлагал support - узнать код base64 этих блоков с ответами и через условие кликать на нужный блок. То есть в функции будет 9 или 10 сравнений с переменными, если пришел ответ "1" - найти переменную с base64 кодом блока ответа и кликнуть на этот блок. Как то так



  • @venom777 А как по коду base64 узнать, что изображено, и совпадает ли нарисованная цифра с ответом капчи?



  • @MAKAR @denanotherday по идее так:
    Узнать base64 для каждой цифры блока (скорее всего от нуля до девятки)

    цифра 0 | base64_code_block0
    цифра 1 | base64_code_block1
    цифра 2 | base64_code_block2
    цифра 3 | base64_code_block3
    цифра 4 | base64_code_block4
    цифра 5 | base64_code_block5
    цифра 6 | base64_code_block6
    цифра 7 | base64_code_block7
    цифра 8 | base64_code_block8
    цифра 9 | base64_code_block9

    Вот типа таких данных должны быть готовые в басе, что бы знали base64 для каждого блока с циферкой

    • Далее приходит ответ от сервиса, например число 5
    • Тогда мы идем и получаем из уже сохраненной выше таблички base64 (по факту у нас будут переменные) код для цифры 5.
    • Теперь на сайте каждый вариант ответа перевести в base64 и как-то записать что чему соответствует. Например воспользоваться последовательностью, записываем в переменные L1 L2 L3 L4 коды base64 соответствующих элементов.
      0_1492633552446_upload-d56974fb-ace5-431b-a1cf-19383797a8ce
    • сравниваем, мы уже знаем что "5" равен [[base64_code_block5]] значит сравниваем [[base64_code_block5]] с каждой переменной [[L1]] [[L2]] [[L3]] [[L4]]
      это я бы сделал в "Выполнить код" вот так
    [[CLICK1]] = false; [[CLICK2]] = false; [[CLICK3]] = false; [[CLICK4]] = false;
    
    if ([[captcha_result]] == "5") 
    {
    if ([[base64_code_block5]] == [[L1]]) { [[CLICK1]] = true; }
    if ([[base64_code_block5]] == [[L2]]) { [[CLICK2]] = true; }
    if ([[base64_code_block5]] == [[L3]]) { [[CLICK3]] = true; }
    if ([[base64_code_block5]] == [[L4]]) { [[CLICK4]] = true; }
    };
    if ([[captcha_result]] == "6") 
    { 
    ...
    };
    

    ЗЫ т.к. софт не будет знать что нужно сравнивать именно base64_code_block5 то нужно делать дополнительный if перед выполнить блок ( если "5" выполнять след код, если "6" то выполнять след код).

    • Одна из переменных будет true
    • Теперь создать 4 экшена проверки
    if [[CLICK1]] 
    то двигать мышь и кликнуть >CSS> block >AT> 0
    if [[CLICK2]] 
    то двигать мышь и кликнуть >CSS> block >AT> 1
    if [[CLICK3]] 
    то двигать мышь и кликнуть >CSS> block >AT> 2
    if [[CLICK4]] 
    то двигать мышь и кликнуть >CSS> block >AT> 3
    

    Сам не проверял но должно работать, возможно это костыль и можно сделать лучше)



  • @venom777 При ручном вводе >CSS> :nth-child([[CAPTCHA_RESULT]]) > a > img
    Как прописать +1 в селекторе спасибо.



  • @denanotherday возможно потому что в [[CAPTCHA_RESULT]] тип данных не int а string (строка а не цифренный)
    выполнить код нужно что бы преобразовать в int

    [[CAPTCHA_RESULT]] = parseInt([[CAPTCHA_RESULT]])
    


  • @venom777 Спасибо работает. Я не ту переменную прописал. Подскажите как в селектор добавить +1



  • @denanotherday
    номер селектора на странице?

    >CSS> :nth-child([[CAPTCHA_RESULT]]) > a > img >AT> 0 это будет первый элемент
    >CSS> :nth-child([[CAPTCHA_RESULT]]) > a > img >AT> 1 это второй
    >CSS> :nth-child([[CAPTCHA_RESULT]]) > a > img >AT> 2 это третий
    


  • @venom777 1 это 2, 2 это 3 и тд.



  • @denanotherday да индекс с 0 начинается



  • @venom777 Спасибо


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.