Java+Selenium3方法篇24-单选和多选按钮操作

来源:互联网 发布:策略经营单机手游 知乎 编辑:程序博客网 时间:2024/06/15 13:19

       本篇介绍webdriver处理前端单选按钮的操作。单选按钮一般叫raido button,就像我们在电子版的单选答题过程一样,单选只能点击一次,如果点击其他的单选,之前单选被选中状态就会变成未选中。单选按钮的点击,一样是使用click方法。下面我们介绍百度新闻首页中有两个单选按钮,我们根据for选好,依次点击第一个,然后点击第二个,由于第一个是默认选中状态,所以看不到第一个点击的效果。

相关脚本代码如下。

package lessons;import java.util.ArrayList;import java.util.concurrent.TimeUnit;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.chrome.ChromeDriver;public class ElementOpration {public static void main(String[] args) throws Exception {                  System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");                     WebDriver driver = new ChromeDriver();               driver.manage().window().maximize();                 driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);                  driver.get("http://news.baidu.com");                 Thread.sleep(1000);                // 把单选按钮放在一个list里面        ArrayList<WebElement> search_type = (ArrayList<WebElement>) driver.findElements(By.xpath("//*/p[@class='search-radios']/input"));                for(WebElement ele : search_type){        ele.click();        Thread.sleep(1000);        }            }  }

       上面介绍了单选按钮是采用click方法,其实多选按钮一样是采用click,我们这里打开一个问卷调查,利用for循环去一次点击每个题目的单选和多选按钮。自己运行下观察效果。

package lessons;import java.util.ArrayList;import java.util.concurrent.TimeUnit;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.chrome.ChromeDriver;public class ElementOpration {public static void main(String[] args) throws Exception {                  System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");                     WebDriver driver = new ChromeDriver();               driver.manage().window().maximize();                 driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);                  driver.get("https://www.sojump.com/m/2792226.aspx/");                 Thread.sleep(1000);                // 把单选按钮放在一个list里面        ArrayList<WebElement> answer_options = (ArrayList<WebElement>) driver.findElements(By.xpath("//*/div[@id='divQuestion']/fieldset/div/div/div/span/input/../a"));                for(WebElement ele : answer_options){        ele.click();        Thread.sleep(1000);        }            }  }
       上面介绍了一组元素采用for循环遍历操作的方法,如果是单个单选按钮或者单个多选按钮,需要用到根据单选按钮旁边的文字去定位该单选按钮,所以这里需要用到Xpath的相对路径写法。其实上面第二个例子input/../a就是采取了相对路径写法,才能看到点击选中的效果。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 百度糯米订的演出票不配送了怎么办 高铁误点改签后的车次没票了怎么办 高铁晚点没赶上下班车怎么办 上班期间单位没给交养老保险怎么办 一键启动车钥匙遥控失灵怎么办 已经订购的火车票误了火车怎么办 飞机去程取消分开买的返程怎么办 订完学生票发现使用次数过了怎么办 坐火车买学生票没带学生证怎么办 买了学生票学生证磁条没了怎么办 买了动车学生票没带学生证怎么办 身份证没磁了怎么办能买火车票 格力空调保修单丢了怎么办 格力空调保修期内坏了怎么办 国际联程航班第一程延误怎么办 大麦网演唱会的票售罄了怎么办 国内转机航班第一班延误了怎么办 联程机票下一程航班被取消怎么办 联程机票第一班航班取消怎么办 联程机票第二段航班被取消怎么办 联程航班第一程延误行李怎么办 联程航班未赶上第二程行李怎么办 高铁晚点赶不上下一趟动车怎么办? 动车晚点赶不上下一趟车怎么办 动车晚点导致没赶上下一趟怎么办 浙大三位一体选考分数报错了怎么办 报到证上时间到期了还没报到怎么办 不停的打嗝已经超过24小时怎么办 面对不给下属做主的领导怎么办 法院说退款受伤人去不了证明怎么办 e栈快递柜没收到短信怎么办 京东快递放门卫丢了怎么办 丰巢快递柜收不到取件码怎么办 丰巢快递柜手机号码填错了怎么办 e栈手机号换了取不出来怎么办 买高铁票起点一样终点不一样怎么办 定火车票把名字写错一个字怎么办 火车票坐完车票丢了报销怎么办 客户交给我的钱被骗了怎么办 要证明网络来源的可靠性该怎么办 魅族手机高德地图信号弱怎么办