测试积点老人 发表于 2018-5-28 10:24:58

Day2-7测试积点任务

问题:
[求助] 如何判断某元素是否在当前视图内
比如有些元素在底部,需要拖动滚动条才能看到,那么问题是如何判断该元素是否在当前
视图内?如果不在,才拖动滚动条查找,不知道那判断语句怎么写,请大神帮忙指导下,谢谢


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.scrollIntoView(true);", w
ebElement);------>就可以正常click了


但问题来了,若该元素在当前视图,执行 ((JavascriptExecutor) driver).executeScript("
arguments.scrollIntoView(true);", webElement);后会滚动页面,导致找不到那元素了,
因此也报错:element is not clickable at point 。
那么我想写一个判断语句,判断该元素是否在当前视图内?

applepen 发表于 2018-5-28 14:41:34

如果当前显示的内容是在Table的控件里的话。就遍历Table中的所要查找的列。
当前显示Table中如果没有找到该对象的话。就下拉滚动条。直到找到该对象
进行点击。

applepen 发表于 2018-5-28 14:41:40

如果当前显示的内容是在Table的控件里的话。就遍历Table中的所要查找的列。
当前显示Table中如果没有找到该对象的话。就下拉滚动条。直到找到该对象
进行点击。

梦想家 发表于 2018-5-29 10:15:33


如果当前显示的内容是在Table的控件里的话。就遍历Table中的所要查找的列。
当前显示Table中如果没有找到该对象的话。就下拉滚动条。直到找到该对象
进行点击。

qqq911 发表于 2018-5-29 10:19:34

如果当前显示的内容是在Table的控件里的话。就遍历Table中的所要查找的列。
当前显示Table中如果没有找到该对象的话。就下拉滚动条。直到找到该对象
进行点击

abcsell 发表于 2018-5-29 10:22:05


如果当前显示的内容是在Table的控件里的话。就遍历Table中的所要查找的列。
当前显示Table中如果没有找到该对象的话。就下拉滚动条。直到找到该对象
进行点击。

jingzizx 发表于 2018-5-29 10:42:19

添加判断条件

海海豚 发表于 2018-5-29 11:28:11

如果当前显示的内容是在Table的控件里的话。就遍历Table中的所要查找的列。
当前显示Table中如果没有找到该对象的话。就下拉滚动条。直到找到该对象
进行点击。
页: [1]
查看完整版本: Day2-7测试积点任务