• 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可以循环选择下列列表中的所有内容。
                }
            }
    
        }
  • 相关阅读:
    HDU 2757 Ocean Currents
    HDU 2704 Bulletin Board
    HDU 2234 无题I
    HDU 3638 Go , SuSu
    HDU 1199 Color the Ball
    HDU 1430 魔板
    PL/SQL例外的介绍
    表分区介绍
    移动表空间数据文件
    long\lob\bfile类型介绍
  • 原文地址:https://www.cnblogs.com/linxinmeng/p/6946341.html
Copyright © 2020-2023  润新知