使用Selenium Webdriver - Facebook PHP库双击元素

时间:2013-11-05 09:56:43

标签: php selenium selenium-webdriver

我需要使用Selenium Webdriver - Facebook PHP库双击dom元素。

没有直接的方法来对元素进行双击,但是有一种方法超过WebDriverMouse这就是我已经走了多远。

$myElement = $myWebDriver->findElement(WebDriverBy::id('myElement'));
$myWebDriver->getMouse()->doubleClick($myElement->getLocation());

不幸的是,这不起作用,因为->getLocation返回WebDriverPoint的实例,但方法->doubleClick()需要WebDriverCoordinates的实例。

是否有更简单的方法来执行双击,或者是否有办法从WebDriverCoordinates对象创建WebDriverPoint实例?

非常感谢你的帮助。

2 个答案:

答案 0 :(得分:2)

对不起,请问这个问题。刚想通了:

$myElement = $myWebDriver->findElement(WebDriverBy::id('myElement'));
$myWebDriver->getMouse()->doubleClick($myElement->getCoordinates());

答案 1 :(得分:1)

以下是使用操作构建器的替代方法。

$myElement = $myWebDriver->findElement(WebDriverBy::id('myElement'));
$driver->actions()->doubleClick()->perform();

此外,$driver->actions()允许动作链/复合动作。

拖放示例:

$driver->actions()->mouseDown($source)
                  ->mouseMove($target)
                  ->mouseUp($target);
                  ->perform();

但实际上,你可以通过一种方法进行拖放。

$driver->actions()->dragAndDrop($source, $target)->perform();