比如有些元素在底部,需要拖动滚动条才能看到,那么问题是如何判断该元素是否在当前视图内?如果不在,才拖动滚动条查找,不知道那判断语句怎么写,请大神帮忙指导下,谢谢
wait.until(ExpectedConditions.elementToBeClickable(webElement)).isEnabled(); ---->打印为true(备注:不管该元素是否在当前视图内,只要能找到该元素,打印结果都是true)
webElement.isDisplayed() ;---->打印结果是true(备注:不管该元素是否在当前视图内,只要能找到该元素,打印结果都是true)
但webElement.click(); 运行报错,element is not clickable at point (513, 807).
原因是webElement不在当前视图,需要拖动滚动条就可见了,因此添加一条语句:
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", webElement);------>就可以正常click了
但问题来了,若该元素在当前视图,执行 ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", webElement);后会滚动页面,导致找不到那元素了,因此也报错:element is not clickable at point 。
那么我想写一个判断语句,判断该元素是否在当前视图内?