您的位置:首页 > Web前端 > JavaScript

使用JavaScript解决页面元素隐藏的问题

2017-12-25 16:58 204 查看
如果你是用selenium做web端的自动化的话,应该遇到过一下情形:

页面中的元素是隐藏的,必须经过某个操作才能使元素显示

而只有元素显示了,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')这个函数将目标元素的样式修改

这样元素就能够正常在页面中显示,也就可以对其进行操作了。

花了我半天的时间找出来的解决方法,希望能够帮到有类似困扰的小伙伴们。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息