Selenium如何制作单击并按住按钮
在网页I测试是一个模式出现后,按下一个按钮约5秒 现在我正试图在Selenium如何制作单击并按住按钮,selenium,automated-tests,Selenium,Automated Tests,在网页I测试是一个模式出现后,按下一个按钮约5秒 现在我正试图在selenium中实现这一点。 我有这样的方法: public static void ClickHold(IWebElement by) { SpecialInteractions.ClickAndHold(by); } 在哪里 public static Actions SpecialInteractions { get; set; } 并且没有等待时间设置 它看起来就像只是点击和释放。有没有一种方法可以等待特定的时
selenium
中实现这一点。
我有这样的方法:
public static void ClickHold(IWebElement by)
{
SpecialInteractions.ClickAndHold(by);
}
在哪里
public static Actions SpecialInteractions { get; set; }
并且没有等待时间设置
它看起来就像只是点击和释放。有没有一种方法可以等待特定的时间,然后释放?不用挖铲斗,我可以告诉你上面的程序可能会返回
numreference异常。我怀疑您需要通过包装当前驱动程序实例来实例化操作
可能的解决办法是:
public void ClickHold(IWebElement element)
{
Actions action = new Actions(driver);
action.clickAndHold(webelement).build().perform();
//you need to release the control from the test
//actions.MoveToElement(element).Release();
}
请记住,如果您使用的是Selenium Grid,这将不起作用。有一个错误使moveToElement成为无法识别的命令
public static Boolean moveToThenSlowClickElement(final WebDriver driver, final WebElement toElement, final int millisecondsOfWaitTime) {
final Actions clickOnElementAndHold = new Actions(driver);
final Actions release = new Actions(driver);
clickOnElementAndHold.moveToElement(toElement).clickAndHold(toElement).perform();
sleep(millisecondsOfWaitTime);
release.release(toElement).perform();
final Action hoverOverCheckBox = clickOnElementAndHold.build();
hoverOverCheckBox.perform();
return true;
}
若它处于悬停状态,那个么您可以像悬停在元素上一样,在特定的时间内使用thread.sleep()。不幸的是,它并没有处于悬停状态。用户需要单击并按住。单击以更改页面?是。点击并按住它会显示modalCan我有你要尝试的URL吗?我很生气我粘贴得太少了。操作当然是用驱动程序实例化的。不存在NullPointerException。由于没有时间设置,此代码刚刚保留并释放。您是否尝试过在保留后使用睡眠,然后使用Release()
method?@Anonymous\u downvoter请指定拒绝投票的原因。并且,指定我做错了什么或遗漏了什么动作动作动作=新动作(驱动程序);action.clickAndHold(webelement.build().perform();将此添加到您的答案中以使其正常工作。docker selenium grid与moveToElement存在相同的问题,但是最新版本的moveToElement再次正常工作。对我来说,这只是Firefox/Gecko3.4.0版本的FF-55.0和Gecko0.18.0版本——这对于moveToElement来说是一个糟糕的组合,最新版本的FF-59.0.1和Gecko0.20.1版本是一个不错的组合注意:当我让moveToElement为悬停测试工作时,我看到它不适用于dragAndDrop-这怎么能在这么长时间内不固定?