问题描述:在对浏览器的某一元素进行定位时,该元素style如下图所示:
此时如果想click()‘更换头像’这一图标,会报错,因为该元素的style为负值,被设置在下层(在本例中为下降30px位置),只有鼠标移上去的时候才会显示,所以直接进行跳转到当前页面并click()该元素会失败。
解决办法:将该元素的style设置为0
注意要设置整个模块的style,如果仅设置该元素的链接部分,还是会出问题(以上图为例,不能通过设置ClassName为‘js-avator-link’的元素style为0解决问题,要设置ClassName为‘update-avator’的元素style为0解决问题)
Eclipse里具体实现代码如下:
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.getElementsByClassName('update-avator')[0].style.bottom='0';");
备注:js的代码最好在控制台跑通之后再复制过来,因为控制台会给错误提示,可以避免一些简单的错误。
对于上述两句话的解释参照:https://blog.csdn.net/qq_20774073/article/details/80944047