public function getForms() { $forms = array(); $dom = $this->findBySelector('form'); foreach ($dom as $f) { $forms[] = Scrapt_Component_Form::fromDom($f, $this->url); } return $forms; }
public static function fromDom($dom_form, $onURL = null) { if (!$dom_form instanceof simple_html_dom_node) { var_dump($dom_form); exit; } $f = $dom_form; $form = new Scrapt_Component_Form(); $form->setName($f->name); $form->setMethod($f->method); $form->setAction($f->action); $form->setPageURL($onURL); // Find inputs. $inputs = $f->find('select,input,textarea'); foreach ($inputs as $i) { $form->addInput(Scrapt_Component_Input::fromDom($i)); } return $form; }
public static function submit(Scrapt_Component_Form $form, $withButton = null, $cache = false) { $payload = $form->getPayload(); $action = $form->getAction(); $method = $form->getMethod(); $action = Scrapt::resolveURL($form->getPageURL(), $action); self::validateURL($action); $data = self::$agent->request($method, $action, $payload); print_r($data); exit; return Scrapt_Webpage::fromData($data['data'], $action); }