這篇文章說單選按鈕(radio button)和復(fù)選框(checkbox)的操作氯析。單選按鈕只能選擇一個(gè)哈打,比如性別,性取向挖炬,年齡段之類的揽浙。當(dāng)然,你要是非說你有多重性取向?yàn)樯恫蛔屛叶噙x那我也沒辦法意敛,要么報(bào)bug要么忍馅巷。一般來說單選按鈕用一個(gè)圈圈表示:
復(fù)選框則相反,可以允許你進(jìn)行多項(xiàng)選擇草姻,用一個(gè)框框表示:
單選按鈕和復(fù)選框的html源代碼和之前講的文本框(textbox)和按鈕(button)也很像钓猬,其實(shí)說白了這四者其實(shí)就是類型(type)不一樣,所以顯示的效果大相徑庭:
把這四個(gè)捆一起記得熟熟的碴倾。單選按鈕常用的操作有:
1. 是否顯示逗噩;
2. 是否啟用;
3. 選擇跌榔;
4. 查看是否被選异雁。
演示一下,新建一個(gè)叫SeleniumRadioCheck的java項(xiàng)目 -> 包c(diǎn)om.test -> Test.java僧须,添加selenium jar包纲刀,把driver聲明配置好,把示例網(wǎng)頁webelements.html網(wǎng)頁全屏打開担平,然后定位單選按鈕:
前兩個(gè)不說了示绊,還是isDisplayed()和isEnabled()。比如我們要查看女生那個(gè)按鈕是不是存在而且啟用狀態(tài)暂论,代碼就這么寫:
打印出來會(huì)是兩個(gè)true面褐。當(dāng)然,這個(gè)單選按鈕確實(shí)在當(dāng)前頁面顯示取胎,而且也確實(shí)沒被禁展哭,所以打印結(jié)果沒毛病。但和之前講的一樣闻蛀,這兩個(gè)方法都基于按鈕確實(shí)存在這個(gè)大前提下匪傍,否則就該拋異常了。
第三個(gè)操作是選擇觉痛,用的方法還是click()役衡。這個(gè)click()用得很廣,對(duì)于按鈕鏈接來說就是“點(diǎn)擊”薪棒,對(duì)于單選按鈕復(fù)選框就是“選擇”手蝎。不過也好理解榕莺,你選擇的過程也是靠點(diǎn)擊完成的。我們繼續(xù)寫代碼柑船,完成對(duì)女生按鈕的選擇:
第四個(gè)操作是查看是否被選帽撑,用到的方法是isSelected()。比如例子中女生按鈕被選擇了鞍时,返回true,沒被選擇則返回false扣蜻,也很好理解:
如果現(xiàn)在我又選了男生按鈕逆巍,那女生按鈕必然處于未選狀態(tài),這是單選按鈕的特性莽使。選了男生之后女生就該返回false了:
這就是單選按鈕的四種常用操作锐极。
復(fù)選框也有這四種操作,除此之外還有一種:去掉選擇芳肌。復(fù)選框和單選按鈕不一樣的地方除了可以同時(shí)選擇多項(xiàng)外灵再,也可以在選定的項(xiàng)目上再點(diǎn)一下去掉選擇。比如對(duì)于webelements.html上的復(fù)選框亿笤,我們可以先同時(shí)選上“微信”“微博”“人人”翎迁,“其它”:
這時(shí)調(diào)用一次click()方法,也就是再點(diǎn)一下復(fù)選框净薛,就可以去掉選擇汪榔。比如我們想去掉“微博”“人人”選項(xiàng)。我讓程序中間等了個(gè)5秒肃拜,為了讓大家看到全選中時(shí)的效果:
這些就是單選按鈕和復(fù)選框的操作痴腌,源代碼是SeleniumRadioBtn和SeleniumCheckBox這兩個(gè)項(xiàng)目。