private function executeScriptInternal($script, $async, $args)
{
if (!isset($this->_capabilities['javascriptEnabled']) || trim($this->_capabilities['javascriptEnabled']) != "1") {
throw new \Exception("You must be using an underlying instance of WebDriver that supports executing javascript");
}
$params = array('script' => $script, 'args' => array());
foreach ((array) $args as $arg) {
if ($arg instanceof WebElement) {
$arg = array('ELEMENT' => $arg->getElementId());
}
$params['args'][] = $arg;
}
if ($async === true) {
$command = new Commands\Command($this, 'execute_async_script', $params);
} else {
$command = new Commands\Command($this, 'execute_script', $params);
}
$results = $command->execute();
return $results['value'];
}