如何使用 Actions 类的 clickAndHold 方法?

Posted

技术标签:

【中文标题】如何使用 Actions 类的 clickAndHold 方法?【英文标题】:How to use clickAndHold method of Actions class? 【发布时间】:2022-01-20 15:06:24 【问题描述】:

我遇到了以下代码:

        List<WebElement> listItems = driver.findElements(By.xpath("//*[@id='select_items']/li"));
    action.clickAndHold(listItems.get(1)).clickAndHold(listItems.get(2)).click().build().perform();

我不明白为什么会调用方法 click 如果我们已经通过 clickAndHold 方法选择了 item1 和 item2,那么调用 click 方法的目的是什么?

【问题讨论】:

【参考方案1】:

我认为释放按下的鼠标按钮需要click()

另类(我从https://www.selenium.dev/documentation/webdriver/actions_api/mouse/得到它)

Actions actionProvider = new Actions(driver);   

actionProvider.clickAndHold(sourceEle).moveToElement(targetEle).build().perform();
      
// Performs release event
actionProvider.release().build().perform();

【讨论】:

以上是关于如何使用 Actions 类的 clickAndHold 方法?的主要内容,如果未能解决你的问题,请参考以下文章

使用 jqGrid 'actions' 预定义格式化程序时如何传递额外参数?

如何使用 Github-actions 在 Docker 上使用 Mysql 运行 Prisma 迁移

如何使用 Github Actions 进行 SFTP?

如何使用 Github Actions 发布对 Docker 镜像的更改

如何在 Vuex 4 和 TypeScript 中使用其他存储模块 getter/actions/mutations

如何在 Vuex 模块 Actions 中使用 vue-router?