今天HDMU发现获取的信息有重复,错乱的现象。rem
Debug排查缘由之后,发现是由于点击显示详情后,他旧的信息尚未更新,就被capture了,致使某些信息是重复的。文档
归根到底的缘由是由于: 用.visibilityOfElementLocated()只有第一次是有用的,当后面再点击别的显示详情,.visibilityOfElementLocated()判断的元素是依旧存在的,因此不会进行等待,直接capture。get
思路:判断元素是否更新。源码
我刚开始的方案是:用.refresh()方法,可是看了源码发现传进去的Expectedcondition,看了不少文档也没有具体的例子,Stack Overflow上面虽然有,但大多数放的是clickAble的condition,我试着本身放了visibilityOfElementLocated在里面,可是不能达到效果。it
第二种想到的方案是:每一次点击完之后,等2s。这种方案确实可行,可是有很大的漏洞,若是2s后显示不出来,就会获取不到。并且每一个操做都要等两秒,很拖慢xiaolv。io
后来想到比较合适的方案是:利用上一篇的知识点,执行JS删掉显示出来的DIV,而后再点击,他就会本身渲染出来显示详情的信息的DIV。cli
JS代码:var div = document.getElementsByClassName('layer_popup01')[0];div.parentNode.removeChild(div);渲染