前言
平時用selenium的時候一般都是直接用xpath獲取需要點擊的元素的位置
但是的項目里用到了一個元素,檢查以后發現是個偽元素
網上百度查的方法都不管用,思路也沒有說明白,導致摸索了很長時間
感謝博主提供的思路:點擊跳轉
實現
我們先看下具體的栗子,這里我選用的是【百度疫情實時大數據報告】,后期可能會過期,但具體思路大家明白就好。
打開網址,默認是選中的是【默認確診】,這里我想點擊【累計確診】。
我們可以看到,當前元素是屬於label標簽的
使用css選擇器時,選擇的是“div節點”(父節點)的位置,然后再在div(父節點)的選擇后邊加上div的子節點“i”(偽元素存在的節點)
所以我們的css選擇器的寫法是:div.Virus_1-1-264_3W7bs_>label
,這里的意思就是(父類div.父類calss>子元素label)
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://voice.baidu.com/act/newpneumonia/newpneumonia/?qq-pf-to=pcqq.group')
# 如果需要切換回【現有確診】,只需要重復執行這段代碼。
driver.find_element_by_css_selector('div.Virus_1-1-264_3W7bs_>label').click()
time.sleep(3)
driver.close()