我需要使用Selenium Webdriver - Facebook PHP库双击dom元素。
没有直接的方法来对元素进行双击,但是有一种方法超过WebDriverMouse
这就是我已经走了多远。
$myElement = $myWebDriver->findElement(WebDriverBy::id('myElement'));
$myWebDriver->getMouse()->doubleClick($myElement->getLocation());
不幸的是,这不起作用,因为->getLocation
返回WebDriverPoint
的实例,但方法->doubleClick()
需要WebDriverCoordinates
的实例。
是否有更简单的方法来执行双击,或者是否有办法从WebDriverCoordinates
对象创建WebDriverPoint
实例?
非常感谢你的帮助。
答案 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();