使用JavaScript解决页面元素隐藏的问题
2017-12-25 16:58
204 查看
如果你是用selenium做web端的自动化的话,应该遇到过一下情形:
页面中的元素是隐藏的,必须经过某个操作才能使元素显示
而只有元素显示了,click()函数才能够点击到它;
我在项目中遇到了这样的情况,就使用moveToElement()的方式解决了这个问题
但是在做兼容性测试的过程中发现,moveToElement()函数在Safari浏览器中无效
为了解决这个问题,查阅了一些资料以后,找到了如此的解决方法:
we代表目标元素
使用element的setAttribute('style','value')这个函数将目标元素的样式修改
这样元素就能够正常在页面中显示,也就可以对其进行操作了。
花了我半天的时间找出来的解决方法,希望能够帮到有类似困扰的小伙伴们。
页面中的元素是隐藏的,必须经过某个操作才能使元素显示
而只有元素显示了,click()函数才能够点击到它;
我在项目中遇到了这样的情况,就使用moveToElement()的方式解决了这个问题
但是在做兼容性测试的过程中发现,moveToElement()函数在Safari浏览器中无效
为了解决这个问题,查阅了一些资料以后,找到了如此的解决方法:
public void addStyleToElement(WebElement we) { JavascriptExecutor js = (JavascriptExecutor) driver; try { js.executeScript("arguments[0].setAttribute(\"style\",\"display: inline-block;\");", we); } catch (Exception e) { throw e; } }
we代表目标元素
使用element的setAttribute('style','value')这个函数将目标元素的样式修改
这样元素就能够正常在页面中显示,也就可以对其进行操作了。
花了我半天的时间找出来的解决方法,希望能够帮到有类似困扰的小伙伴们。
相关文章推荐
- 使用jquery的load方法设计动态加载,并解决被加载页面JavaScript失效问题
- 解决用JavaScript隐藏再显示Flex后不能正常使用问题
- 使用jquery on()方法解决html页面点击元素,事件无响应的问题
- 解决jsp页面元素使用disabled=true带来的不能传值到后台问题
- 使用jquery的load方法设计动态加载,并解决被加载页面JavaScript失效问题
- 采用母板页的页面使用JavaScript问题
- 在页面中使用WebWork的token标签解决表单重复提交问题
- JavaScript中显示隐藏页面元素
- 解决使用attachEvent函数时,this指向被绑定的元素的问题的方法
- 绝对酷,如何解决asp.net中javascript脚本的问题(使用服务器控件执行客户端脚本)
- JavaScript页面刷新与弹出窗口问题解决方法
- JavaScript页面刷新与弹出窗口问题解决方法
- 使用javascript进行页面间传值的问题
- JavaScript页面刷新与弹出窗口问题解决方法
- 绝对酷,如何解决asp.net中javascript脚本的问题(使用服务器控件执行客户端脚本)
- 使用javascript定位页面元素小窍门
- JavaScript页面刷新与弹出窗口问题解决方法
- 解决『回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证。』问题
- JavaScript页面刷新与弹出窗口问题解决方法
- 解决JavaScript页面刷新与弹出窗口问题