在元素上执行的Selenium Java单击不起作用

时间:2018-12-11 11:54:37

标签: java selenium firefox-driver

以下内容出现在我的测试自动化代码中。它报告已奏效,但没有奏效。我可以分解一下并找出原因吗?

Actions actions = new Actions(driver);

actions.moveToElement(element).click().build().perform();

我已经找到了该元素,并测试了它是否可以显示并单击,并且将整个批次包装在try / catch中以检查是否有错误(没有错误报告)。

我认为问题在于'element.isDisplayed'函数会产生误导性的结果。

2 个答案:

答案 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));