Skip to content

Instantly share code, notes, and snippets.

@Prroffessorr
Last active May 9, 2022 16:55
Show Gist options
  • Save Prroffessorr/318f69857acc3af942c7c8cc7e99dee5 to your computer and use it in GitHub Desktop.
Save Prroffessorr/318f69857acc3af942c7c8cc7e99dee5 to your computer and use it in GitHub Desktop.
Chromedriver - how to crach porn site
<?php
require 'vendor/autoload.php';
include("vendor/anticaptcha-php-master/anticaptcha.php");
include("vendor/anticaptcha-php-master/recaptchaV2proxyless.php");
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
$chrome_options = new \Facebook\WebDriver\Chrome\ChromeOptions();
$chrome_options->setBinary("C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe");
$chrome_options->addArguments(array('--no-sandbox'));
$chrome_options->addArguments(array('--disable-dev-shm-usage'));
$chrome_options->addArguments(array('--remote-debugging-port=9222'));
$capabilities = DesiredCapabilities::chrome();
$capabilities->setCapability(\Facebook\WebDriver\Chrome\ChromeOptions::CAPABILITY, $chrome_options);
$driver = \Facebook\WebDriver\Chrome\ChromeDriver::start($capabilities);
try{
$curent_url = 'https://site-ma.brazzers.com/login';
$driver->get($curent_url);
sleep(1);
//Получаем значение и заполняем поле 'username'
$driver
->findElement(Facebook\WebDriver\WebDriverBy::name('username'))
->click()
->sendKeys("username");
//Получаем значение и заполняем поле 'password'
sleep(1);
$pass = $driver
->findElement(Facebook\WebDriver\WebDriverBy::name('password'))
->click()
->sendKeys("pass");
sleep(1);
$response = create_task($driver);
sleep(1);
$driver->executeScript('document.getElementById("g-recaptcha-response").innerHTML = "'.$response.'";');
sleep(1);
/**
* Еслу нужно быстро сделать влом невзламываемой капчи, нужно попробовать вот эти дейсвия
*
* На будущее, ссылка на получение занчени callback функции: https://is.gd/Khvprg
* И как использовать данную функцию правильно: https://is.gd/PXqCpi
*
*/
$driver->executeScript('___grecaptcha_cfg.clients[0].M.M.callback("'.$response.'");');
sleep(1);
$driver->findElement(Facebook\WebDriver\WebDriverBy::xpath("//button[@type='submit']"))
->click();
//ждем пока откроется страница покупки (Она вызывается после авторизации)
sleep(1);
$driver->wait(90)->until(
Facebook\WebDriver\WebDriverExpectedCondition::urlContains('https://site-ma.brazzers.com/store'));
}finally{
//release driver
$driver->close();
$driver->quit();
}
<?php
function create_task($driver){
$api = new RecaptchaV2Proxyless();
$api->setVerboseMode(true);
//your anti-captcha.com account key
$api->setKey("api_key);
//target website address
$api->setWebsiteURL("site_url");
//recaptcha key from target website
$api->setWebsiteKey("6LcS9rQUAAAAAJbcv0HU0g2UrXLypd7ciXp2nOdn");
//optional custom parameter which Google made for their search page Recaptcha v2
//$api->setDataSValue("'data-s' token from Google Search");
//create task in API
if (!$api->createTask()) {
if($api->getErrorId !=0){
$api->debout("API v2 send failed - ".$api->getErrorMessage(), "red");
create_task($driver, $settings);
$driver->close();
$driver->quit();
return false;
}
}
$taskId = $api->getTaskId();
//wait in a loop for max 300 seconds till task is solved
if (!$api->waitForResult(300)) {
echo "could not solve captcha\n";
echo $api->getErrorMessage()."\n";
$driver->close();
$driver->quit();
} else {
$gResponse = $api->getTaskSolution();
echo "\n";
echo "your recaptcha token: $gResponse\n\n";
}
return $gResponse;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment