comparison vendor/jcalderonzumba/mink-phantomjs-driver/src/JavascriptTrait.php @ 0:c75dbcec494b

Initial commit from drush-created site
author Chris Cannam
date Thu, 05 Jul 2018 14:24:15 +0000
parents
children 5311817fb629
comparison
equal deleted inserted replaced
-1:000000000000 0:c75dbcec494b
1 <?php
2
3 namespace Zumba\Mink\Driver;
4
5 use Behat\Mink\Exception\DriverException;
6
7 /**
8 * Class JavascriptTrait
9 * @package Zumba\Mink\Driver
10 */
11 trait JavascriptTrait {
12
13 /**
14 * Executes a script on the browser
15 * @param string $script
16 */
17 public function executeScript($script) {
18 $this->browser->execute($script);
19 }
20
21 /**
22 * Evaluates a script and returns the result
23 * @param string $script
24 * @return mixed
25 */
26 public function evaluateScript($script) {
27 return $this->browser->evaluate($script);
28 }
29
30 /**
31 * Waits some time or until JS condition turns true.
32 *
33 * @param integer $timeout timeout in milliseconds
34 * @param string $condition JS condition
35 * @return boolean
36 * @throws DriverException When the operation cannot be done
37 */
38 public function wait($timeout, $condition) {
39 $start = microtime(true);
40 $end = $start + $timeout / 1000.0;
41 do {
42 $result = $this->browser->evaluate($condition);
43 usleep(100000);
44 } while (microtime(true) < $end && !$result);
45
46 return (bool)$result;
47 }
48
49 }