兩種狀況,一種是各個button元素的屬性都有惟必定位值,能夠直接用屬性惟一值定位;另外一種就是一組各方面屬性值都同樣的radiobutton,除了text,能夠用組元素定位來操做css
#檢測任務下各題型的radiobutton有惟一id值 driver.find_element_by_css_selector("#sinquestion").click()#選擇檢測任務:單選題 #基礎信息下的各學科radiobutton全都同樣,組定位.兩種方式 driver.find_elements_by_css_selector("[name=SubjectName]").pop(1).click() driver.find_elements_by_css_selector("[name=SubjectName]")[1].click()
#推送範圍,遍歷訪問的方式所有勾選 for push in driver.find_elements_by_name("GroupName"): push.click() time.sleep(1)
單個勾選的話也能夠用下標索引和pop()索引來處理web
1. 定位父元素select,而後經過tag name找到全部option,獲得option元素的數組,而後經過數組索引([1])定位,最後click. 數組
driver.find_element_by_id("BookName").find_elements_by_tag_name("option")[1].click()#選擇下拉框的第一個教材
driver.find_element_by_id("BookName").find_elements_by_css_selector("[value=1419]").click()
2. 用到了Select類, 實例select對象有不少方法:ui
deselect_all(),全不選。spa
deselect_by_index(index),不選index 項,index從0 仍是從1 開始了。code
deselect_by_value( value),不選元素value屬性爲value的項,聽着有點拗口,其實value值就是option標籤中value的值。對象
deselect_by_visible_text( text),不選標籤innerHTML爲text的optionblog
select_by_index( index),同上,選擇第 index 項。這個用於 option的text和value不固定的狀況索引
select_by_value( value), 同上,選擇。element
select_by_visible_text( text),同上,選擇。
1 #使用前需先引入Select類 2 from selenium.webdriver.support.ui import Select 3 4 select = Select(driver.find_element_by_id("BookName")) 5 select.deselect_all()#大致意思是應該是先清空再選擇,已經嘗試過刪除這句也能夠選擇成功,可能還沒遇到失敗的狀況
6 select.select_by_visible_text("咱們版初中七年級語文上冊")