如何使用 webdriverio 单击并按住

How to click and hold using the webdriverio

我正在尝试弄清楚如何使用 webdriverio 单击并按住。在硒中是这样的:

WebElement elementToInteractWith = driver.findElement(By.id("myElement"));

Actions holdClick = new Actions(driver);

holdClick.clickAndHold(elementToInteractWith).perform();

//wait for however long you need to hold

holdClick.release().perform();

但是我不确定如何在 webdriver io 中执行此操作,但在文档中找不到任何内容

我相信你可以试试这个。

https://webdriver.io/docs/api/jsonwp.html#buttondown

在此之后您可以暂停一段时间,然后应该按下按钮。

干杯!

您可以在 w3school 页面上使用 buttonDown 进行测试。

browser.url("https://www.w3schools.com/css/css3_buttons.asp");
browser.buttonDown("//button[text()='Default Button']");
browser.pause(5000);
browser.buttonUp("//button[text()='Default Button']");

但是,这是针对 webdriverio v4 的。它说这很快就会被弃用,但也许 V5 有相同的 api.

上面似乎没有任何效果,但我最终尝试了这个并且成功了:

browser.$('//div[@data-test="touch-area"]').moveTo(0,0)
browser.buttonDown(0);
browser.pause(3000)