Selenium之常見元素處理系列一--單選框(radio)
修改下圖中的性別,屬於單選框範疇
出於隱私,下面登入模組的使用者名稱與密碼都為虛構,如果需要請自行修改成自己的使用者名稱與密碼
eg
程式碼:
package com.wushuai.test;
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class inputTest {
public WebDriver driver;
//初始化chrome瀏覽器驅動
public void initDriver()
{
System.setProperty("webdriver.chrome.driver", "D:\\java\\chromedriver-32\\chromedriver.exe");
//初始化chrome瀏覽器
driver=new ChromeDriver();
driver.get("http://www.imooc.com/user/newlogin/from_url/" );
//螢幕最大化
driver.manage().window().maximize();
}
/*
* 單選框
*
* */
public void radioBox() {
//進入使用者的個人設定介面
driver.get("http://www.imooc.com/user/setprofile");
//找到個人設定頁面的個人資訊中的編輯按鈕,並點選
driver.findElement(By.className("pull-right")).click();
/*
* 編輯使用者的性別時:
* 如果用下面的程式碼會報:element not visible的錯誤,即元素未明確,就是說我們選擇性別的時候
* 有三個選擇:保密,男,女,但是我們此處的程式碼並沒有指定具體選擇哪一個,只是簡單的點選性別這一塊,並未明確目標
* driver.findElement(By.name("sex")).click();
*
* 下面這行程式碼可以彌補這個漏洞
*
* */
/**第一種方法:運用xpath方法,適用於單選框等場景
*.//*[@id='profile']/div[4]/div/label[1]相當於性別裡“保密”選項的路徑或者id,
*具體位置代表:id為profile下的第四個div下的第一個div下的第一個label
*driver.findElement(By.xpath(".//*[@id='profile']/div[4]/div/label[1]")).click();
*
*第二種方法如下:
*代表:用List<WebElement>來接收id為profile下的第四個div下的第一個div下所有元素
*/
List<WebElement> elements=driver.findElements(By.xpath(".//*[@id='profile']/div[4]/div/label//input"));
try {
//睡眠兩秒
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//遍歷得到的所有元素
/*
* 具體邏輯:修改性別,該性別分別包含:保密,男,女單選框
* 如果我們chrome預設設定的為"保密",那麼,該迴圈會先執行else中語句,其次繼續下一個迴圈,由於此刻迴圈到“男”
* 且我們預設的是"保密",那麼滿足flag=false的判定條件,會執行if語句,並且該迴圈到此結束
* 如果我們chrome預設設定的為"男"或者"女",那麼最終執行的都是if語句,並且執行一遍,最終結果為"保密"
* */
for(WebElement radio:elements)
{
boolean flag=radio.isSelected();
if(flag==false)
{
radio.click();
System.out.println("退出");
break;
}else
{
System.out.println("選中了");
}
}
try {
//睡眠兩秒
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void inputBox() {
//輸入賬號
driver.findElement(By.name("email")).sendKeys("[email protected]");
try {
//睡眠兩秒
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//清除賬號
driver.findElement(By.name("email")).clear();
String s=driver.findElement(By.name("email")).getAttribute("placeholder");
//列印資訊
System.out.println(s);
/*
*
* 輸入使用者名稱與密碼並點選登入
*
* 這裡主要是為了在個人設定操作打下鋪墊
* */
driver.findElement(By.name("email")).sendKeys("[email protected]");
driver.findElement(By.name("password")).sendKeys("000000");
driver.findElement(By.className("btn-red")).click();;
try {
//睡眠兩秒
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
//初始化inputTest類
inputTest it=new inputTest();
it.initDriver();
it.inputBox();
it.radioBox();
}
}
相關推薦
Selenium之常見元素處理系列一--單選框(radio)
修改下圖中的性別,屬於單選框範疇 出於隱私,下面登入模組的使用者名稱與密碼都為虛構,如果需要請自行修改成自己的使用者名稱與密碼 eg 程式碼: package com.wushuai.test; import java.util.L
Java自學之路-Java中級教程-18:SpringMVC列表框select和單選框radio、多選框checkbox的處理
頁面表單還有很多控制元件,這一節介紹比較常用的列表框和單選框、多選框。列表框就是下拉列表選項,用在有多個選擇的情況,比如一大堆的國家和城市可以做成一個下拉列表供使用者選擇。單選框用在只能選擇一種選項的情況,比如性別要麼選男,要麼選女。多選框即是可以多選,比如興趣愛好可以選電腦
吾八哥學Selenium(三):操作復選框checkbox/單選框radio的方法
attr webdriver for in tex 如果 Go 測試的 har selected 復選框checkbox和單選框radio是web網站裏經常會使用到的兩個控件,那麽在web自動化測試的時候如何利用Selenium來操作這倆控件呢?今天我們就來簡單入門練習一下
layui 單選框radio小坑input[name=]錯誤
<div class="layui-form-item" > <label class="layui-form-label">請選擇</label> <div class="layui-input-block" > &l
HTML中的單選框 radio
在開始學習radio的用法的時候,覺得很簡單,但在用的時候,卻不知道怎麼進行單選,後來查了很長時間才明白其中的道理,其中,name的值是要相等的,這裡的值是什麼值都可以,只要相等就行 <input type="radio" name="男" value="
禁用單選框(radio)或者多選框(checkbox)
$("input[type='radio']").each(function(){ $(this).prop("disabled",true); });
單選框radio點選選中、取消選中
今天工作中遇到一個單選框需要做成複選框的那種效果,即點選選中、再點選取消,之所以不直接使用複選框,是因為樣式要求必須是圓的,當然百度一下網上也有不少能把複選框的方形變成圓形的方法,但粗略看一下其樣式調整還都是蠻複雜的。網上也有不少使用單選框+js實現相同效果的,最後我使用了
單選框radio改變事件
<input type="radio" name="bedStatus" id="allot" checked="checked" value="allot">Allot <input
angularJs裡單選框radio怎麼使用ng-model?
使用ng-model和ng-value ng-mode是當前選中的值,, ng-value是這個radio的值。 使用ng-model把radio綁到一個變數上,ng-value使用表示式來表示值。選中時它的值就是ng-value的值了。測試程式碼如
單選框radio單擊取消選中
<!DOCTYPE HTML> <html> <head> <meta charset="UTF-8" /> <script type="text/javascript" src="http://lib.sinaapp
對於單選框radio和複選框checkbox的使用
1,使用 <input type="checkbox" name="diff" id="diff" value="1"/>//複選 //預設選中可以新增checked屬性 <input type="checkbox" name="diff" id="
根據單選框radio的值,來顯示checked狀態
例如有以下程式碼,你拿到了radio的value值0,1,2 怎樣根據他們的value值顯示它的選中狀態 <div class="add_sex"> <label><input name="form-
最簡單清晰的純css實現的單選框radio複選框checkbox自定義樣式
<fieldset> <legend style="color: red;">自定義單選框radio</legend> <div cla
jquery獲取單選框radio的值
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </hea
.net後臺給前臺的普通單選框Radio 動態賦值,選中你要的性別。
前臺程式碼如下:<input type="hidden" id="hidSex" value="<%= model_user.Sex %>"/> <input t
Jquery預設選中單選框radio第一個、選中指定值的單選框
// 頁面隱藏域的值 var platIdVal = $("#platIdVal").val(); // 如果platIdVal為空,說明沒有勾選單選框 if(platIdVal==null || platIdVal == ''){ // 預設選中平臺單選框的第一個 $(".admin-content-t
單選框radio總結(獲取值、設定預設選中值、樣式)
input[type="radio"] + label::before { content: "\a0"; display: inline-block; vertical-align: middle; width: 15px; height: 15px; margin-ri
自己寫一個序列化form表單,表單中有複選框checkbox,單選框radio等
form表單中有複選框,單選框等var serializeform = function (formid) { var form = document.getElementById(formid); var arr = {}; for (var i = 0;
jquery 單選框 radio是否選擇問題
pan box 行數據 業務需求 nbsp check 一個 chan 事件 業務需求是當用戶勾選中的時候刪除數據,取消勾選的時候數據取消 //單選事件,獲取到每行數據ID $(‘.checkItem‘).ch
[js高手之路]設計模式系列課程-單例模式實現模態框
ges 點擊 eat abs select nbsp str osi 控制 什麽是單例呢? 單,就是一個的意思。例:就是實例化出來的對象,那合在一起就是保證一個構造函數只能new出一個實例,為什麽要學習單例模式呢?或者說單例模式有哪些常見的應用場景.它的使用還是很廣泛,比如