Скрипт написан под почту rambler.ru легко адаптируется под другие почтовые сервисы.
Капчу разгадываем с помощью сервиса распознования rucaptcha.com подробно как работать с сервисом можно прочитать в нашем блоге.
Что делает скрипт?
1. Переходим на доску
2. Вводим указанные в настройках email и пароль.
3. Переходим в почтовый ящик.
4. Активируем наш email.
5. Заходим в аккаунт на подачу объявления.
Каждая строчка скрипта прокомментированна, если есть вопросы по скрипту пишите в этой теме.
Сам скрипт:
<?php /* ** // Наш сайт https://xn--80awbbeioodeq4h3a.xn--p1ai // Скрипт регистрации на доску olx. // Обсудить скрипт или задать вопросу на форуме // viewforum.php?f=52 ** */ $xhe_host = "127.0.0.1:7010"; // The following code is required to properly run XWeb Human Emulator require("../../Templates/xweb_human_emulator.php"); // почтовый ящик $email="budanov-jakov@rambler.ru"; // логин почты $mail_login="budanovjakov"; // пароль от почты $mail_password="s1qag33wey21"; // пароль для olx $pwd_olx = 'ViAswH#A'; // распознавание капчи // API ключ сервиса $rucaptcha->api_key="cdbecaf74aaf1aadafbd97189886ab92"; // / /////////////////////////////// echo "переходим на доску olx.ua<br>"; // перейти на доску $browser->navigate("olx.ua"); // нажимаем кнопку подать объявление $anchor->click_by_id("postNewAdLink"); // ////////////////////////// регистрация echo "переходим на регистрацию<br>"; // переходим на регистрацию $anchor->click_by_id("register_tab"); echo "вводим все данные и распознаём капчу с помощью сервиса rucaptcha.com<br>"; // вводим email $input->send_keyboard_input_by_name("register[email_phone]",$email, "20:40"); sleep(1); // вводим пароль ждя регистрации $input->send_keyboard_input_by_name("register[password]",$pwd_olx, "20:40"); // соглашаемся с правилами $label->click_by_inner_text("* Я соглашаюсь с правилами исп", false); // распознаём капчу $result = $rucaptcha->recognize_recaptcha_v2($webpage->get_url(),"6LfF4loUAAAAAL7rrF2kG6E_deGIeh_kHFPUYk-r"); // Используем полученный токен для обхода капчи // установим токен в скрытое поле g-recaptcha-response $textarea->set_value_by_name("g-recaptcha-response", $result); // нажимаем на кнопку регистрация $btn->click_by_id("button_register"); // ждём 3 секунды sleep(3); echo "проверяем результат<br>"; // проверим результат if($strong->is_exist_by_inner_text("Сейчас вы должны активировать ", false)) { // переходим на email $span->click_by_inner_text("Проверить e-mail"); sleep(3); // активация письма для рамблера ////////// // вводим email $input->send_keyboard_input_by_name("email",$email."\n", "20:40"); sleep(1); // вводим пароль $input->send_keyboard_input_by_name("password",$mail_password."\n", "20:40"); sleep(1); // переходим в почту $anchor->click_by_inner_text("Почта", false); sleep(3); // сделаем активной открывшуюся страницу $browser->set_active_browser(1); // заходим в письмо $span->click_by_inner_text("OLX.ua"); // щёлкаем на кнопку активируйте $anchor->click_by_inner_text("Активируйте учетную запись"); sleep(3); // сделаем активной открывшуюся страницу $browser->set_active_browser(2); // проверяем удалось ли зарегистрироваться if($div->is_exist_by_inner_text("Пароль создан успешно", false)) { echo "регистрацию для $email прошли успешно!<br>"; echo "войдём в аккаунт<br>"; // нажимаем на кнопку ПОДАТЬ ОБЪЯВЛЕНИЕ $span->click_by_inner_text("ПОДАТЬ ОБЪЯВЛЕНИЕ"); // войдём в аккаунт // вводим логин $input->send_keyboard_input_by_name("login[email_phone]",$email, "20:40"); // вводим пароль $input->send_keyboard_input_by_name("login[password]",$pwd_olx, "20:40"); // нажимаем кнопку Войти $btn->click_by_id("se_userLogin"); sleep(1); // закроем сообщение Подтвердите вашу учётную запись $anchor->click_by_id("fancybox-close"); usleep(300); $anchor->click_by_attribute("id", "fancybox-close"); } } echo "регистрацию не прошли<br>"; // Quit $app->quit(); ?>