我想在量角器中加倍元素;我使用如下,但它不是双击,而是单击。
browser.actions().doubleClick(element(by.xpath("//*[@id='optionsTaggingList']/div[1]/div[1]/div[1]/table/tbody/tr/td[1]")).getAttribute(1)).perform()
我有什么遗失的吗?
答案 0 :(得分:1)
只需使用:
browser.actions().doubleClick(element(by.xpath("//*[@id='optionsTaggingList']/div[1]/div[1]/div[1]/table/tbody/tr/td[1]"))).perform();
但是你应该使用一个更简单的选择器,不会那么久。
答案 1 :(得分:1)
以下代码有效:
var ele = element(by.xpath("//*[@id='optionsTaggingList']//td[1]"))
browser.actions().click(ele).click(ele).perform();
答案 2 :(得分:0)
尝试多种方法双击元素后,我终于想出了一个解决方案:
async performDoubleClick(elemetToBeClicked: ElementFinder) {
await browser.actions().mouseMove(elemetToBeClicked).mouseMove(elemetToBeClicked)
.mouseUp().mouseDown().click().mouseDown().mouseUp().click().doubleClick().perform();
return;
}
您还可以检查以下各项是否对您有用:
async performDoubleClick(elemetToBeClicked: ElementFinder) {
await browser.actions().mouseMove(elemetToBeClicked).mouseMove(elemetToBeClicked).doubleClick().perform();
}
需要将其他事件串在一起,因为当您双击时,这些事件也将以相同的顺序被调用。您可以通过https://unixpapa.com/js/testmouse.html或任何其他鼠标事件检查器进行验证。
答案 3 :(得分:0)
我尝试了以上所有方法,但没有帮助,请尝试
请使用sleep(1000) 等待browser.actions()。click(ele.getWebElement())。perform(); 等待browser.actions()。mouseMove(ele).mouseMove(ele).doubleClick()。perform();