Python+Selenium自動化-定位一組元素,單選框、復選框的選中方法
之前學習了8種定位單個元素的方法,同時webdriver還提供了8種定位一組元素的方法。唯一區別就是在單詞element后面增加了一個s表示復數:
0.定位一組元素
- find_elements_by_id('')
- find_elements_by_id_by_class_name('')
- find_elements_by_tag_name('')
- find_elements_by_link_text('')
- find_elements_by_partial_link_text('')
- find_elements_by_xpath('')
- find_elements_by_css_selector('')
2.單選框選中
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('http://news.baidu.com/')
time.sleep(1)
try:
#定位搜索框下面的新聞全文和新聞標題單選項
radio_button = driver.find_elements_by_css_selector(".search-radios>input")
# 定位的一組元素后,返回的是一個列表,這里就循環選中對應的選項
for i in radio_button:
i.click()
print ('選中單選框.')
except Exception as e:
print ('fail',format(e))
3.復選框選中
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://passport.baidu.com/v2/?reg&tt=1529850358050&overseas=undefined&gid=02B2650-6D11-430E-A19D-529F69B9F1CE&tpl=xw&u=http%3A%2F%2Fnews.baidu.com%2F')
time.sleep(1)
try:
#定位 閱讀並接受《百度用戶協議》及《百度隱私權保護聲明》 的多選框
checkbox = driver.find_elements_by_css_selector("#TANGRAM__PSP_3__isAgree")
# 定位的一組元素后,返回的是一個列表,這里就循環選中對應的選項
for i in checkbox:
i.click()
print ('選中多選框')
except Exception as e:
print ('fail',format(e))