平時用selenium的時候一般都是直接用xpath獲取需要點擊的元素的位置
但是的項目裏用到了一個元素,檢查以後發現是個僞元素
一開始嘗試用僞元素附近位置僞元素(頁面大小變了以後相對位置也會改變),最後失敗了 QAQ
然後就在谷歌搜定位僞元素,但是搜到的都說的很簡單
說直接用css定位,然後試了一下不行。。。
後來摸索了半下午才搞清楚
定位僞元素方法:使用css定位
例子 :
項目需求需要點擊右側的圓圈➕按鈕
檢查元素以後是在div的i節點裏面,是一個僞元素
用css選擇器選擇
submit = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, '#tree-navigation-zone-icon-container-32>i'))))
submit.click()
這樣就可以實現selenium點擊
Attention⚠️:使用css選擇器時,選擇的是“div節點”(父節點)的位置,然後再在div(父節點)的選擇後邊加上div的子節點“i”(僞元素存在的節點)