以下内容出现在我的测试自动化代码中。它报告已奏效,但没有奏效。我可以分解一下并找出原因吗?
Actions actions = new Actions(driver);
actions.moveToElement(element).click().build().perform();
我已经找到了该元素,并测试了它是否可以显示并单击,并且将整个批次包装在try / catch中以检查是否有错误(没有错误报告)。
我认为问题在于'element.isDisplayed'函数会产生误导性的结果。
答案 0 :(得分:1)
方法1-当您拥有 WebElement
时,尝试直接单击WebElement one = driver.findElement(By.name("one"));
WebElement two = driver.findElement(By.name("two"));
Actions actions = new Actions(driver);
actions.click(one)
.click(two)
.build().perform();
方法2-尝试跳过build()
,它可以与单击/双击一起使用
WebElement sngClick= driver.findElement(By.name("sngClick"));
WebElement dblClick= driver.findElement(By.name("dblClick"));
Actions actions = new Actions(driver);
actions.moveToElement(sngClick).click().perform();
actions.moveToElement(dblClick).doubleClick().perform();
答案 1 :(得分:1)
请与JavaScriptExecutor检查:
((JavascriptExecutor) driver).executeScript("arguments[0].click();", driver.findElement(WebElement));