之前学习了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))