You are here

Browser.php in Zircon Profile 8

Same filename and directory in other branches
  1. 8.0 vendor/jcalderonzumba/gastonjs/src/Browser/Browser.php

File

vendor/jcalderonzumba/gastonjs/src/Browser/Browser.php
View source
<?php

namespace Zumba\GastonJS\Browser;


/**
 * Class Browser
 * @package Zumba\GastonJS
 */
class Browser extends BrowserBase {
  use BrowserAuthenticationTrait;
  use BrowserConfigurationTrait;
  use BrowserCookieTrait;
  use BrowserFileTrait;
  use BrowserFrameTrait;
  use BrowserHeadersTrait;
  use BrowserMouseEventTrait;
  use BrowserNavigateTrait;
  use BrowserNetworkTrait;
  use BrowserPageElementTrait;
  use BrowserPageTrait;
  use BrowserRenderTrait;
  use BrowserScriptTrait;
  use BrowserWindowTrait;

  /**
   * @param string $phantomJSHost
   * @param mixed  $logger
   */
  public function __construct($phantomJSHost, $logger = null) {
    $this->phantomJSHost = $phantomJSHost;
    $this->logger = $logger;
    $this->debug = false;
    $this
      ->createApiClient();
  }

  /**
   * Returns the value of a given element in a page
   * @param $pageId
   * @param $elementId
   * @return mixed
   */
  public function value($pageId, $elementId) {
    return $this
      ->command('value', $pageId, $elementId);
  }

  /**
   * Sets a value to a given element in a given page
   * @param $pageId
   * @param $elementId
   * @param $value
   * @return mixed
   */
  public function set($pageId, $elementId, $value) {
    return $this
      ->command('set', $pageId, $elementId, $value);
  }

  /**
   * Tells whether an element on a page is visible or not
   * @param $pageId
   * @param $elementId
   * @return bool
   */
  public function isVisible($pageId, $elementId) {
    return $this
      ->command('visible', $pageId, $elementId);
  }

  /**
   * @param $pageId
   * @param $elementId
   * @return bool
   */
  public function isDisabled($pageId, $elementId) {
    return $this
      ->command('disabled', $pageId, $elementId);
  }

  /**
   * Drag an element to a another in a given page
   * @param $pageId
   * @param $fromId
   * @param $toId
   * @return mixed
   */
  public function drag($pageId, $fromId, $toId) {
    return $this
      ->command('drag', $pageId, $fromId, $toId);
  }

  /**
   * Selects a value in the given element and page
   * @param $pageId
   * @param $elementId
   * @param $value
   * @return mixed
   */
  public function select($pageId, $elementId, $value) {
    return $this
      ->command('select', $pageId, $elementId, $value);
  }

  /**
   * Triggers an event to a given element on the given page
   * @param $pageId
   * @param $elementId
   * @param $event
   * @return mixed
   */
  public function trigger($pageId, $elementId, $event) {
    return $this
      ->command('trigger', $pageId, $elementId, $event);
  }

  /**
   * TODO: not sure what this does, needs to do normalizeKeys
   * @param int   $pageId
   * @param int   $elementId
   * @param array $keys
   * @return mixed
   */
  public function sendKeys($pageId, $elementId, $keys) {
    return $this
      ->command('send_keys', $pageId, $elementId, $this
      ->normalizeKeys($keys));
  }

}

Classes

Namesort descending Description
Browser Class Browser @package Zumba\GastonJS