Python+Selenium自动化-定位一组元素,单选框、复选框的选中方法

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))
posted @ 2019-09-17 10:07  小学弟-  阅读(2158)  评论(0编辑  收藏  举报