Я пытаюсь следовать эта документация выполнить скрипт, и все, что я получаю, это ошибка, говорящая executeScript
метод не определен.
$this->driver->navigateTo('/');
$this->driver->clickElement('#member_opt_in + label');
$this->driver->executeScript("alert('Hi');");
Документация использует $session
и говорит выше на странице, что это сокращение, но нигде не объясняет, что $session
на самом деле содержит или как его назначить.
вики на GitHub не соответствует текущей библиотеке php-webdriver и ссылается на ее предыдущую (до 2013 года) версию, но с тех пор библиотека была переписана с нуля.
Для выполнения команд Selenium вам нужен экземпляр RemoteWebDriver
, Пример можно увидеть в Прочти меня.
С RemoteWebDriver
экземпляр в $driver
переменная, которую вы можете выполнить:
$driver->get('http://google.com');
$element = $driver->findElement(WebDriverBy::cssSelector('#member_opt_in + label'));
$elemen->click();
// Execute javascript:
$driver->executeScript('alert("Hi");');
// Or to execute the javascript as non-blocking, ie. asynchronously:
$driver->executeAsyncScript('alert("Hi");');
Ссылаться на API документация для дополнительной информации.
Других решений пока нет …