Mercurial > hg > cmmr2012-drupal-site
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 } |