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可以循环选择下列列表中的所有内容。
 } } }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM