【问题标题】:How to double click any where on web page?如何双击网页上的任何位置?
【发布时间】:2017-12-26 12:26:45
【问题描述】:
Actions actions = new Actions(getDriver());

actions.moveByOffset(700,700);
actions.click().build().perform();


actions.moveByOffset(40,0);
actions.click().build().perform();

actions.moveByOffset(0,40);
actions.click().build().perform();


actions.moveByOffset(0,0);
actions.doubleClick().build().perform();

我可以让它点击,但不能让它双击。

你有什么想法吗?我如何更改这部分代码。我需要双击网页上的任何位置。只需双击即可。

actions.moveByOffset(0,0);
actions.doubleClick().build().perform();

【问题讨论】:

    标签: selenium


    【解决方案1】:

    根据 Selenium Java Client v3.8.1 的当前版本的 Java Docs,您不能使用 public Actions doubleClick(),因为文档清楚地提到了 @ 987654321@ 是 Deprecated。这是快照:

    因此您可能无法从 Package org.openqa.selenium.interactions

    调用 doubleClick()

    解决办法:

    如果您需要执行 doubleClick(),有以下两种可能的解决方案:

    【讨论】:

    • 如何从 Java 调用 JavaScript 代码?
    • 它在文档中说明了替代方案是什么......使用Actions.doubleClick(WebElement)
    • @JeffC 我在Answer 中从一开始就添加的DoubleClickAction 的快照清楚地提到了使用Actions.doubleClick(WebElement) 作为替代方案的说明。我已经更改了答案的逐字记录,以使其更加清晰。 JavascriptExecutor 绝对是一个潜在的替代方案。让我知道您对此的看法。
    【解决方案2】:

    您必须将元素参数传递给 doubleClick() 方法。

    actions.doubleClick(anyClickableWebElement).build().perform();
    

    【讨论】:

    • 但是我要点击谷歌地图,所以我要如何选择一个元素。
    猜你喜欢
    • 1970-01-01
    • 2011-05-29
    • 2014-02-13
    • 1970-01-01
    • 1970-01-01
    • 2017-08-31
    • 1970-01-01
    • 1970-01-01
    • 2018-10-26
    相关资源
    最近更新 更多