function testSample() { require_once 'browser.php'; $browser = new SimpleBrowser(); $browser->get('http://www.google.com/'); $browser->setField('q', 'php'); $browser->click('reporting bugs'); $page = $browser->clickSubmitByName('btnG'); $this->assertTrue($page); }
/** * Fetch page from google and search for some keyword. */ public function testFetchGoogleResults() { $browser = new SimpleBrowser(); // inject debugging cookie, if we want to debug request - makes sense only if we do request to the same server with DBG module if (!empty($_COOKIE['DBGSESSID'])) { $browser->setCookie('DBGSESSID', $_COOKIE['DBGSESSID']); } $url = 'http://www.google.com/'; $html = $browser->get($url); // store fetched page into temporary file and display quick download link TestUtils::snapshot($html, 'google-main-page'); if ($this->assertTrue(false !== stripos($browser->getTitle(), 'google'), 'Failed loading page from ' . $url . '!')) { $keyword = 'simpletest'; // load search results for "simpletest" $browser->setField('q', $keyword); $html = $browser->clickSubmitByName('btnG'); if ($this->assertTrue(false !== strpos($browser->getTitle(), $keyword), 'Failed loading search results for ' . $keyword . '!')) { TestUtils::snapshot($html, 'google-search-results'); } } }
<?php error_reporting(E_ERROR); require 'simpletest/browser.php'; $settingsJson = file_get_contents("credentials.json"); $settings = json_decode($settingsJson, true); $browser = new SimpleBrowser(); $browser->get('https://apply.ukba.homeoffice.gov.uk/secure/protected/account'); $browser->setField('j_username', $settings['username']); $browser->setField('j_password', $settings['password']); $browser->click('Log in'); $pageText = $browser->getContent(); $numWords = array('first', 'second', 'third', 'fourth', 'fifth', 'sixth', 'seventh', 'eighth'); // Set the memorable word characters foreach ($numWords as $index => $numWord) { $matches = array(); if (preg_match('/The ' . $numWord . ' character.*<input[^>]+name[=]["]([^"]+)["]/msU', $pageText, $matches)) { $browser->setField($matches[1], substr($settings['memorable'], $index, 1)); } } $browser->click('Confirm identity'); $browser->click('Book appointment'); $browser->setField('tabbedQuestions:screens:screen0:control0:j_id184:selectOneListBox', 'T2SPSKWORK'); $browser->click('Next'); $browser->setField('tabbedQuestions:screens:screen0:control1:j_id453:selectOneRadio', 'true'); $browser->click('Next'); //$browser->setField('tabbedQuestions:screens:screen0:control1:j_id490:dateInputControl:day', '31'); //$browser->setField('tabbedQuestions:screens:screen0:control1:j_id490:dateInputControl:month', '6'); //$browser->setField('tabbedQuestions:screens:screen0:control1:j_id490:dateInputControl:year', '2012'); //$browser->setField('tabbedQuestions:screens:screen0:control2:j_id555:dateInputControl:day', '31'); //$browser->setField('tabbedQuestions:screens:screen0:control2:j_id555:dateInputControl:month', '7');
} verificaDac(); require 'scraperwiki/simple_html_dom.php'; if (!file_exists('simpletest/browser.php')) { //first need to download SimpleTest $data = file_get_contents("http://aendrew.com/sites/all/libraries/simpletest_1.1alpha3.tar.gz"); file_put_contents("simpletest.tar.gz", $data); exec('tar -xzvf simpletest.tar.gz'); } require_once 'simpletest/browser.php'; $browser = new SimpleBrowser(); $browser->useCookies(); $browser->get('https://www3.prefeitura.sp.gov.br/sf8663/formsinternet/Principal.aspx'); $viewstate = $browser->getField('__VIEWSTATE'); // $browser->setField('__VIEWSTATE', $viewstate); $browser->setField('txtSetor', '003'); $browser->setField('txtQuadra', '006'); $browser->setField('txtLote', '0001'); $browser->setField('txtDigito', '1'); $browser->clickSubmitByName('_BtnAvancarDasii'); //$results = $browser->getField("txtNome"); $results = $browser->getContent(); $dom = new simple_html_dom(); $dom->load($results); $arrName = array(); foreach ($dom->find('input') as $input) { array_push($arrName, $input->name); } $arrValue = array(); foreach ($dom->find('input') as $input) { array_push($arrValue, $input->value);
function getPage($s, $q, $lmin, $lmax) { require_once 'simpletest/browser.php'; $browser = new SimpleBrowser(); $browser->useCookies(); for ($r = $lmin; $r <= $lmax; $r++) { $browser->get('https://www3.prefeitura.sp.gov.br/sf8663/formsinternet/Principal.aspx'); $viewstate = $browser->getField('__VIEWSTATE'); $setor = $s; $quadra = $q; $lote = leading_zeros(number_format($r, 0, '', ''), 4); //$lote = number_format($r); $browser->setField('txtSetor', $setor); $browser->setField('txtQuadra', $quadra); $browser->setField('txtLote', $lote); $browser->setField('txtDigito', verificaDac($setor, $quadra, $lote)); $browser->clickSubmitByName('_BtnAvancarDasii'); $results = $browser->getContent(); $dom = new simple_html_dom(); $dom->load($results); $arrName = array(); foreach ($dom->find('input') as $input) { array_push($arrName, $input->name); } $arrValue = array(); foreach ($dom->find('input') as $input) { array_push($arrValue, $input->value); } if (empty($arrValue)) { } else { if ($arrValue[6] == "") { var_dump($lote); } else { $arr = array($arrName[5] => $arrValue[5], $arrName[6] => $arrValue[6], $arrName[7] => $arrValue[7], $arrName[8] => $arrValue[8], $arrName[9] => $arrValue[9], $arrName[11] => $arrValue[11]); scraperwiki::save(array('txtNumIPTU'), $arr); } } } }
$data2 = file_get_contents("http://www.jstott.me.uk/phpcoord/phpcoord-2.3.tar.gz"); file_put_contents("phpcoord-2.3.tar.gz", $data2); exec('tar -xzvf phpcoord-2.3.tar.gz'); } require_once 'simpletest/browser.php'; require_once 'phpcoord-2.3.php'; //Here we go now! $browser = new SimpleBrowser(); $browser->useCookies(); $browser->get('http://apps.hackney.gov.uk/servapps/Northgate/PlanningExplorer/generalsearch.aspx?blah=' . rand(1, 99)); //the "blah" flag disables caching on SW. //$viewstate = $browser->getField('__VIEWSTATE'); //$eventValidation = $browser->getField('__EVENTVALIDATION'); //$browser->setField('__VIEWSTATE', $viewstate); //$browser->setField('__EVENTVALIDATION', $eventValidation); $browser->setField('cboSelectDateValue', 'DATE_RECEIVED'); $browser->setField('cboMonths', '1'); $browser->setField('rbGroup', 'rbMonth'); $browser->setField('cboDays', '7'); $browser->clickSubmitByName('csbtnSearch'); $url = $browser->getUrl(); $xmlloc = 'http://apps.hackney.gov.uk' . preg_replace('/.*XMLLoc=(.*)$/', '\\1', $url); $apps = simplexml_load_file($xmlloc); foreach ($apps->M3_DC_LIVE_GENERAL_QUERY_LIST as $app) { /* COMMENTED OUT: old code to geolocate via postcode. Now handled via Eastings/Northings. $regex = "/([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]? {1,2}[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)/"; $address = (string) $app->SITE_ADDRESS; preg_match($regex, $address, $matches); if(isset($matches[0])){ $coords = scraperwiki::gb_postcode_to_latlng($matches[0]); }*/