📄 browser.php
字号:
/** * Accessor for raw page information. * @return string Original text content of web page. * @access public */ function getContent() { return $this->_page->getRaw(); } /** * Accessor for plain text version of the page. * @return string Normalised text representation. * @access public */ function getContentAsText() { return $this->_page->getText(); } /** * Accessor for parsed title. * @return string Title or false if no title is present. * @access public */ function getTitle() { return $this->_page->getTitle(); } /** * Accessor for a list of all links in current page. * @return array List of urls with scheme of * http or https and hostname. * @access public */ function getUrls() { return $this->_page->getUrls(); } /** * Sets all form fields with that name. * @param string $label Name or label of field in forms. * @param string $value New value of field. * @return boolean True if field exists, otherwise false. * @access public */ function setField($label, $value) { return $this->_page->setField(new SimpleByLabelOrName($label), $value); } /** * Sets all form fields with that name. Will use label if * one is available (not yet implemented). * @param string $name Name of field in forms. * @param string $value New value of field. * @return boolean True if field exists, otherwise false. * @access public */ function setFieldByName($name, $value) { return $this->_page->setField(new SimpleByName($name), $value); } /** * Sets all form fields with that id attribute. * @param string/integer $id Id of field in forms. * @param string $value New value of field. * @return boolean True if field exists, otherwise false. * @access public */ function setFieldById($id, $value) { return $this->_page->setField(new SimpleById($id), $value); } /** * Accessor for a form element value within the page. * Finds the first match. * @param string $label Field label. * @return string/boolean A value if the field is * present, false if unchecked * and null if missing. * @access public */ function getField($label) { return $this->_page->getField(new SimpleByLabelOrName($label)); } /** * Accessor for a form element value within the page. * Finds the first match. * @param string $name Field name. * @return string/boolean A string if the field is * present, false if unchecked * and null if missing. * @access public */ function getFieldByName($name) { return $this->_page->getField(new SimpleByName($name)); } /** * Accessor for a form element value within the page. * @param string/integer $id Id of field in forms. * @return string/boolean A string if the field is * present, false if unchecked * and null if missing. * @access public */ function getFieldById($id) { return $this->_page->getField(new SimpleById($id)); } /** * Clicks the submit button by label. The owning * form will be submitted by this. * @param string $label Button label. An unlabeled * button can be triggered by 'Submit'. * @param hash $additional Additional form data. * @return string/boolean Page on success. * @access public */ function clickSubmit($label = 'Submit', $additional = false) { if (! ($form = &$this->_page->getFormBySubmit(new SimpleByLabel($label)))) { return false; } $success = $this->_load( $form->getAction(), $form->submitButton(new SimpleByLabel($label), $additional)); return ($success ? $this->getContent() : $success); } /** * Clicks the submit button by name attribute. The owning * form will be submitted by this. * @param string $name Button name. * @param hash $additional Additional form data. * @return string/boolean Page on success. * @access public */ function clickSubmitByName($name, $additional = false) { if (! ($form = &$this->_page->getFormBySubmit(new SimpleByName($name)))) { return false; } $success = $this->_load( $form->getAction(), $form->submitButton(new SimpleByName($name), $additional)); return ($success ? $this->getContent() : $success); } /** * Clicks the submit button by ID attribute of the button * itself. The owning form will be submitted by this. * @param string $id Button ID. * @param hash $additional Additional form data. * @return string/boolean Page on success. * @access public */ function clickSubmitById($id, $additional = false) { if (! ($form = &$this->_page->getFormBySubmit(new SimpleById($id)))) { return false; } $success = $this->_load( $form->getAction(), $form->submitButton(new SimpleById($id), $additional)); return ($success ? $this->getContent() : $success); } /** * Tests to see if a submit button exists with this * label. * @param string $label Button label. * @return boolean True if present. * @access public */ function isSubmit($label) { return (boolean)$this->_page->getFormBySubmit(new SimpleByLabel($label)); } /** * Clicks the submit image by some kind of label. Usually * the alt tag or the nearest equivalent. The owning * form will be submitted by this. Clicking outside of * the boundary of the coordinates will result in * a failure. * @param string $label ID attribute of button. * @param integer $x X-coordinate of imaginary click. * @param integer $y Y-coordinate of imaginary click. * @param hash $additional Additional form data. * @return string/boolean Page on success. * @access public */ function clickImage($label, $x = 1, $y = 1, $additional = false) { if (! ($form = &$this->_page->getFormByImage(new SimpleByLabel($label)))) { return false; } $success = $this->_load( $form->getAction(), $form->submitImage(new SimpleByLabel($label), $x, $y, $additional)); return ($success ? $this->getContent() : $success); } /** * Clicks the submit image by the name. Usually * the alt tag or the nearest equivalent. The owning * form will be submitted by this. Clicking outside of * the boundary of the coordinates will result in * a failure. * @param string $name Name attribute of button. * @param integer $x X-coordinate of imaginary click. * @param integer $y Y-coordinate of imaginary click. * @param hash $additional Additional form data. * @return string/boolean Page on success. * @access public */ function clickImageByName($name, $x = 1, $y = 1, $additional = false) { if (! ($form = &$this->_page->getFormByImage(new SimpleByName($name)))) { return false; } $success = $this->_load( $form->getAction(), $form->submitImage(new SimpleByName($name), $x, $y, $additional)); return ($success ? $this->getContent() : $success); } /** * Clicks the submit image by ID attribute. The owning * form will be submitted by this. Clicking outside of * the boundary of the coordinates will result in * a failure. * @param integer/string $id ID attribute of button. * @param integer $x X-coordinate of imaginary click. * @param integer $y Y-coordinate of imaginary click. * @param hash $additional Additional form data. * @return string/boolean Page on success. * @access public */ function clickImageById($id, $x = 1, $y = 1, $additional = false) { if (! ($form = &$this->_page->getFormByImage(new SimpleById($id)))) { return false; } $success = $this->_load( $form->getAction(), $form->submitImage(new SimpleById($id), $x, $y, $additional)); return ($success ? $this->getContent() : $success); } /** * Tests to see if an image exists with this * title or alt text. * @param string $label Image text. * @return boolean True if present. * @access public */ function isImage($label) { return (boolean)$this->_page->getFormByImage(new SimpleByLabel($label)); } /** * Submits a form by the ID. * @param string $id The form ID. No submit button value * will be sent. * @return string/boolean Page on success. * @access public */ function submitFormById($id) { if (! ($form = &$this->_page->getFormById($id))) { return false; } $success = $this->_load( $form->getAction(), $form->submit()); return ($success ? $this->getContent() : $success); } /** * Finds a URL by label. Will find the first link * found with this link text by default, or a later * one if an index is given. The match ignores case and * white space issues. * @param string $label Text between the anchor tags. * @param integer $index Link position counting from zero. * @return string/boolean URL on success. * @access public */ function getLink($label, $index = 0) { $urls = $this->_page->getUrlsByLabel($label); if (count($urls) == 0) { return false; } if (count($urls) < $index + 1) { return false; } return $urls[$index]; } /** * Follows a link by label. Will click the first link * found with this link text by default, or a later * one if an index is given. The match ignores case and * white space issues. * @param string $label Text between the anchor tags. * @param integer $index Link position counting from zero. * @return string/boolean Page on success. * @access public */ function clickLink($label, $index = 0) { $url = $this->getLink($label, $index); if ($url === false) { return false; } $this->_load($url, new SimpleGetEncoding()); return $this->getContent(); } /** * Finds a link by id attribute. * @param string $id ID attribute value. * @return string/boolean URL on success. * @access public */ function getLinkById($id) { return $this->_page->getUrlById($id); } /** * Follows a link by id attribute. * @param string $id ID attribute value. * @return string/boolean Page on success. * @access public */ function clickLinkById($id) { if (! ($url = $this->getLinkById($id))) { return false; } $this->_load($url, new SimpleGetEncoding()); return $this->getContent(); } /** * Clicks a visible text item. Will first try buttons, * then links and then images. * @param string $label Visible text or alt text. * @return string/boolean Raw page or false. * @access public */ function click($label) { $raw = $this->clickSubmit($label); if (! $raw) { $raw = $this->clickLink($label); } if (! $raw) { $raw = $this->clickImage($label); } return $raw; } /** * Tests to see if a click target exists. * @param string $label Visible text or alt text. * @return boolean True if target present. * @access public */ function isClickable($label) { return $this->isSubmit($label) || ($this->getLink($label) !== false) || $this->isImage($label); } }?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -