如何在Selenium Webdriver中模拟双击鼠标

时间:2016-01-08 16:18:14

标签: java selenium testng

我希望能够像用户那样快速点击两次退出按钮吗?

WebElement logout = driver.findElement(By.id("dijit_form_Button_0_label"));{

  if(logout.isDisplayed()){
    logout.click();

我希望能够像用户那样在不到一秒的时间内点击退出按钮两次?这在selenium webdriver中是否可行?

1 个答案:

答案 0 :(得分:1)

编辑:

确保已加载dom

atri所述,您可以根据This thread使用双击功能。

WebElement logout = driver.findElement(By.id("dijit_form_Button_0_label"));{

  if(logout.isDisplayed()){
    logout.doubleClick();

如果您不想使用doubleClick函数,我建议使用Selemium的ExplicitWait Selenium: Implicit and explicit Wait

如果您想手动执行此操作,可能会在使用javascript线程和selenium等待的点击之间添加延迟。 基于This thread

WebElement logout = driver.findElement(By.id("dijit_form_Button_0_label"));{

  if(logout.isDisplayed()){
    logout.click();
    Thread.sleep(100);
    logout.click();
}
  

更好的方法是使用ExplicitWaits,这意味着你会等待   只要一些动作发生或某些元素被渲染就完全一样   在页面上。   - petr-mensik

     

显式等待是您定义的等待某个条件的代码   在进一步执行代码之前发生。最坏的情况   是Thread.sleep(),它将条件设置为精确的时间段   等待。 - Selenium