51Testing软件测试论坛
标题:
java+selenium的click()事件报错,而使用鼠标悬停点击正常是为什么
[打印本页]
作者:
1005731757@qq.c
时间:
2020-1-8 16:43
标题:
java+selenium的click()事件报错,而使用鼠标悬停点击正常是为什么
本帖最后由 1005731757@qq.c 于 2020-1-8 16:59 编辑
java+selenium执行元素点击事件,使用元素定位.click()方法。抛出异常org.openqa.selenium.ElementNotInteractableException: element not interactable
而使用鼠标悬停事件点击同样的元素定位却点击成功了 ,有没有大佬能解释下为什么。
源代码如下:
public void
beforeClass
() {
driver
.manage().timeouts().implicitlyWait(
3
,
TimeUnit.
SECONDS
)
;
HouseManageLogic houseManage =
new
HouseManageLogic()
;
houseManage.beforeTest(
driver
)
;
HomePage homePage =
new
HomePage()
;
Actions actions =
new
Actions(
driver
)
;
actions.click(homePage.areaManageMenu(
driver
)).perform()
;
//这是不会报错可正常执行的
// homePage.areaManageMenu(driver).click(); //这是会报错的 执行的时候会注释悬停点击事件
}
作者:
applepen
时间:
2020-1-9 10:31
虽然都是点击但是操作方式不一样。
一个是通过Actions连续动作来实现,这种方式在相应位置进行点击。不会考虑该元素是否可以被点击。
第二中是直接调用通过对象来点击,会考虑对象自身的属性。如果无法点击就会提示错误。
例:
以Chrome浏览器为例,如果点击一个input的标签。就会出现上述的错误提示。
如果点击input标签相关联的其他标签如span就能够点击。具体原因为啥会这样
我也不是很清楚。
作者:
1005731757@qq.c
时间:
2020-1-9 15:45
applepen 发表于 2020-1-9 10:31
虽然都是点击但是操作方式不一样。
一个是通过Actions连续动作来实现,这种方式在相应位置进行点击。不会 ...
确认标签本身正常绑定click()事件,而且在Actions可正常点击的情况下,使用
new WebDriverWait(driver,5).until(ExpectedConditions.visibilityOf(homePage.areaManageMenu(driver))) ;
也会抛出异常,这似乎是可见的元素被错误的判定为不可见,所以导致click()不可用
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2