今天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);渲染