zoukankan      html  css  js  c++  java
  • selenium 下拉框处理

    web应用中有很多时候我们会遇见<select></select>标签的下列列表框,一般是无法直接去操作下列列表中的选择的。selenium webdriver 提供了专门操作select下拉列表的方法。

    selectByIndex(2); //通过下拉列表中选项的索引选中第三项,在java中索引从0开始,不同语言,略有差异。

    selectByValue("value"); //操作option标签中属性值。

    selectByVisibleText(“value")//参数为option的text值。

    getOptions();//返回select标签中的所有选项,返回类型式list集合,可以遍历操作所有选项。

    public static void main(String[] args) {
            System.setProperty("webdriver.firefox.bin", "D:\Mozilla Firefox\firefox.exe");
            WebDriver driver = new FirefoxDriver();
            // 以下是选择w3shool的select标签教程未实例 操作下拉列表
            driver.get("http://www.w3school.com.cn/tags/tag_select.asp");
            String winhand = driver.getWindowHandle();
            // 获取当前句柄
            System.out.println(driver.getWindowHandle() + "句柄");
            driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
            // 设置等待页面元素
            driver.findElement(By.xpath(".//*[@id='maincontent']/div[1]/p[2]/a")).click();
            // 点击页面中的【亲自试一试】按钮
            driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
            // 设置等待页面元素
            Set<String> handles = driver.getWindowHandles();
            for (String j : handles) {
                if (j.equals(winhand) == false) {
                    driver.switchTo().window(j);
                    // 切换到新开的窗口
                    driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
                    // 设置等待页面元素
                    driver.switchTo().frame("i");
                    WebElement el = driver.findElement(By.tagName("select"));
                    Select sel = new Select(el);
                    sel.selectByValue("saab");
                    // 操作下列列表中内容为saab。
    //                List<WebElement> SelectLinks = driver.findElements(By.tagName("option"));
    //                for (WebElement k : SelectLinks) {
    //                    k.click();
    //
    //                }
                    // 该处的for可以循环选择下列列表中的所有内容。
                }
            }
    
        }
  • 相关阅读:
    仿jquery 选择器功能
    多个div拖拽功能
    js 模拟jquery onready 事件
    随着鼠标移动的图片百叶窗效果
    计算体重引发的思考
    js 模拟事件
    表单验证功能(利用冒泡功能)
    视频播放滚动条(最终完善版)
    仿制视频播放滚动条效果(加左右控制按钮)
    无极树(待整理)
  • 原文地址:https://www.cnblogs.com/linxinmeng/p/6946341.html
Copyright © 2011-2022 走看看