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可以循环选择下列列表中的所有内容。
                }
            }
    
        }
  • 相关阅读:
    使用flaskcode创建网页代码编辑器
    jsp资料参考
    商城类需求确认单
    “酒香也怕巷子深” Smartflow-Sharp 工作流
    sql server distribution 库数据文件过大
    大数据平台HADOOP、HIVE、HDSF等介绍和使用看这一篇就够了
    vue 虚拟列表滚动
    关于js逗号运算符与reduce只有1个元素
    css 2行省略 多行省略
    【神经网络搜索】NasBench301 使用代理模型构建Benchmark
  • 原文地址:https://www.cnblogs.com/linxinmeng/p/6946341.html
Copyright © 2011-2022 走看看