selemiun 下拉菜单、复选框、弹框定位识别

一、下拉菜单识别

对下拉框的操作,主要是通过Select 类里面的方法来实现的,所以需要new 一个Select 对象(org.openqa.selenium.support.ui.Select)来进行操作

    public void selectDemo() throws InterruptedException {
        driver.get("http://tieba.baidu.com/f/search/adv?red_tag=v3168911135");
        driver.manage().window().maximize();
        Select sel =new Select(driver.findElement(By.name("sm")));
//        通过下拉框value值选择
        sel.selectByValue("2");
        Thread.sleep(2000);
//        通过下拉框索引选择第一项
        sel.selectByIndex(0);
        Thread.sleep(2000);
//        通过下拉框可见文本选择
        sel.selectByVisibleText("按时间顺序");

主要的方法有:

 1 boolean isMultiple()      //判断下拉框是否多选模式
 2 void selectByIndex(int index)     //选中指定index的项,单选多选均有效,当index超出范围时,抛出NoSuchElementException异常
 3 void selectByValue(String value)     //选中所有Select标签中,value为指定值的所有项,单选多选均有效,当没有适合的项时,抛出NoSuchElementException异常
 4 void selectByVisibleText(String text)     //选中所有项的文字为指定值的项,与deselectByValue相反,但单选多选模式均有效,当没有适合的项时,抛出NoSuchElementException异常
 5 void deselectAll()       //取消所有选择项,仅对下拉框的多选模式有效,若下拉不支持多选模式,则会抛出异常 UnsupportedOperationException(不支持的操作)
 6 void deselectByIndex(int index)     //取消指定index的选择,index从零开始,仅对多选模式有效,否则抛出异常 UnsupportedOperationException(不支持的操作)
 7 void deselectByValue(String value)     //取消Select标签中,value为指定值的选择,仅对多选模式有效,否则抛出异常 UnsupportedOperationException(不支持的操作)
 8 void deselectByVisibleText(String Text)     //取消项的文字为指定值的项,例如指定值为Bar,项的html为 <option value="foo">Bar</option>,仅对多选模式有效,单选模式无效,但不会抛出异常
 9 List<WebElement>getAllSelectedOptions()      //获得所有选中项,单选多选模式均有效,但没有一个被选中时,返回空列表,不会抛出异常
10 WebElement getFirstSelectedOption()      //获得第一个被选中的项,单选多选模式均有效,当多选模式下,没有一个被选中时,会抛出NoSuchElementException异常
11 List<WebElement>getOptions()      //获得下拉框的所有项,单选多选模式均有效,当下拉框没有任何项时,返回空列表,不会抛出异常

获取下拉菜单所有的option,并判断默认选择项

 1 public void mutilSelectDemo() {
 2         driver.get("http://tieba.baidu.com/f/search/adv?red_tag=v3168911135");
 3         driver.manage().window().maximize();
 4         List<WebElement> lw=driver.findElement(By.name("sm")).findElements(By.tagName("option"));
 5         System.out.println("总共有:"+lw.size()+" 个选项");
 6         for (int i = 0; i < lw.size(); i++) {
 7             if (null!=lw.get(i)&&"按时间倒序".equals(lw.get(i).getText())) {
 8                 System.out.println("默认选择的是"+lw.get(i).getText());
 9
10             }
11         }
12
13     }

二、单选框、复选框--checkbox、radiobox操作

checkbox和radio,一般情况下这两种都是 input 标签,可以通过元素定位后,click()方法直接操作

1 driver.findElement(By.id("subMerType2")).click();

三、页面弹框--alert 操作

Alert弹框操作之前要先切换到Alert页面,则需要使用:org.openqa.selenium.Alert类

Alert alert = driver.switchTo().alert();

弹框的操作方法有:

  • accept()          // 弹框确认操作
  • dismiss()        // 弹框取消操作
  • getText()        // 获取弹框上的文本
1         driver.findElement(By.id("commit")).click();
2         Thread.sleep(3000);
3         Alert alert =driver.switchTo().alert();
4         System.out.println(alert.getText());
5         alert.accept();
6         alert.dismiss();

原文地址:https://www.cnblogs.com/zddwork/p/11353903.html

时间: 2024-12-11 10:37:58

selemiun 下拉菜单、复选框、弹框定位识别的相关文章

Siebel 找字段、下拉菜单设置值、弹出新页面、弹出选择框、设置默认值 、按钮代码

产品缺陷太多,跟用户交互不人性化.例如搜索新建客户功能,用户输入后会自动保存数据,一旦保存后一. 找字段1.简单 CTRL+Q CTRL+Q 服务请求编号----对应的表.字段.长度: 客户编码-----对应的表.字段.长度(弹出新页面):- 点击上面的pick Applet会弹出“选取客户”对话框 有JOIN就不用TABLE:require代表必填 字段有两个值----项目编号 下图确定只有projectNum有用 3.表单中的字段(不在list column中,而是在control) 二.下

【BIEE】BI Publisher下拉菜单设置

在使用BIEE的过程中,通常会有需要根据下拉菜单所选内容进行数据展示,如下图所示: 设置参数 进入数据模型编辑界面→参数 新增参数,P_DATADATE为示例参数 参数赋值 同时点击"值列表",出现下图: 为变量赋值 查询引用参数 在查询的SQL中,引用方式为:字段 IN (:变量)

作业:------数据库下拉菜单,数据库复选框

$attr = array( array("n001","汉族"), array("n002","回族"), array("n003","苗族"), array("n004","维吾尔族"), ); 1.要求用下拉列表的样式显示在页面上 2.要求用checkbox/radio 列表 显示在页面上 1.要求用下拉列表的样式显示在页面上 1 <!

JS实现带复选框的下拉菜单

这段时间在做后台的时候需要一个可以复选的下拉菜单,用到的是easyUI中的combo的Demo,先看看官方easyUI:http://www.jeasyui.com/documentation/index.php# ----------------------------------------------------------------------------------------------------------------------------------------------

DOM(十)使用DOM设置单选按钮、复选框、下拉菜单

1.设置单选按钮 单选按钮在表单中即<input type="radio" />它是一组供用户选择的对象,但每次只能选一个.每一个都有checked属性,当一项选择为ture时,其它的都变为false. 先贴沙漠化一个例子: <script type="text/javascript"> function getChoice() { var oForm = document.forms["uForm1"]; var aCh

IOS第二天-新浪微博 - 添加搜索框,弹出下拉菜单 ,代理的使用 ,HWTabBar.h(自定义TabBar)

********HWDiscoverViewController.m(发现) - (void)viewDidLoad { [super viewDidLoad]; // 创建搜索框对象 HWSearchBar *searchBar = [HWSearchBar searchBar]; searchBar.width = 300; searchBar.height = 30; self.navigationItem.titleView = searchBar; //设置titleView 是搜索框

表单开发(二):获取单选按钮,多行文本框,下拉菜单,捆绑元素数据,用户注册

单选按钮:<input type="radio"> 多行文本框:<textarea rows="5" cols="30"></textarea> 下拉菜单:seclet option <select name="home" ><!--下拉列表--> <option value="北 京">北 京</option> <o

轻量级web富文本框——wangEditor使用手册(4)——配置下拉菜单

1. 引言 上一节(第三节)<轻量级web富文本框——wangEditor使用手册(3)——如何自定义配置菜单>描述了如何自定义配置一个新加入的菜单.在第二节中我们演示了如何添加一个简单的菜单,这一节我们要加入一个稍微复杂一点的菜单——下拉菜单类型——增加一个“设置标题”下拉按钮 下载地址:https://github.com/wangfupeng1988/wangEditor demo演示:http://www.cnblogs.com/wangfupeng1988/p/4185508.htm

黄聪:TinyMCE 4 增强 添加样式、按钮、字体、下拉菜单和弹出式窗口

我最喜欢 WordPress 3.9 的更新是使用了 TinyMCE 4.0 编辑器.新的 TinyMCE 看起来看起来更整洁(真正匹配WP仪表板),它有一些非常不错的附加功能.我的很多老主题和插件必须更新为新 TinyMCE 的工作,所以我花了一些时间研究 API 并找出一些很酷的东西.下面我给你介绍下如何可以拓展 TinyMCE 功能的例子.我不会指导您完成所有步骤,或者是什么的代码意味着(这是为开发者),但会为您提供您的主题或插件可用的代码,你可以复制完全相同的代码,粘贴,然后相应地调整.