package rjcs;
import java.util.*;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.Select;
public class xinkaishi
{
public static void main(String[] args)
{
System.setProperty("webdriver.firefox.bin","C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe"); //设置火狐的安装路径,防止系统找不到
FirefoxDriver driver = new FirefoxDriver(); //初始化FireFox浏览器实例,并打开浏览器
try
{
driver.manage().window().maximize(); //最大化窗口
Thread.sleep(5000);
driver.navigate().to("http://www.baidu.com");
Thread.sleep(5000);
Actions action = new Actions(driver);
action.moveToElement(driver.findElementByLinkText("设置")).perform(); //鼠标悬浮在 设置 元素上面
driver.findElementByClassName("setpref").click(); // 打开搜索设置
Thread.sleep(5000);
Select dropList = new Select(driver.findElementByName("NR"));
Thread.sleep(5000);
System.out.println(dropList.getFirstSelectedOption().getText()); //查看刚开始默认选择的选项
Boolean a = dropList.isMultiple(); //是否允许多选,允许多选返回true,否则 不允许返回false
System.out.println(a); // 此处不允许多选,返回false
Thread.sleep(5000);
System.out.println("-------------------------------");
List<WebElement> options = dropList.getOptions();
for (WebElement option : options )
{
System.out.println(option.getText()); //Prints "Option", followed by "Not Option"
}
System.out.println("-------------------------------");
//---------------------------------------------------------------------
//selectByIndex()方法,通过索引进行选中,3个选项,索引从0开始,即 0,1,2
dropList.selectByIndex(1); //3个选项,索引从0开始,即 0,1,2
System.out.println(dropList.getFirstSelectedOption().getText());
Thread.sleep(5000);
dropList.selectByIndex(2);
System.out.println(dropList.getFirstSelectedOption().getText());
Thread.sleep(5000);
dropList.selectByIndex(0);
System.out.println(dropList.getFirstSelectedOption().getText());
Thread.sleep(5000);
//---------------------------------------------------------------------
System.out.println("-------------------------------");
//selectByVisibleText()方法,通过选项的文字进行选中
dropList.selectByVisibleText("每页显示20条");
System.out.println(dropList.getFirstSelectedOption().getText());
Thread.sleep(5000);
dropList.selectByVisibleText("每页显示50条");
System.out.println(dropList.getFirstSelectedOption().getText());
Thread.sleep(5000);
dropList.selectByVisibleText("每页显示10条");
System.out.println(dropList.getFirstSelectedOption().getText());
Thread.sleep(5000);
//---------------------------------------------------------------------
System.out.println("-------------------------------");
//selectByValue()方法,使用下来列表的属性的value属性值进行选中操作
dropList.selectByValue("20");
System.out.println(dropList.getFirstSelectedOption().getText());
Thread.sleep(5000);
dropList.selectByValue("50");
System.out.println(dropList.getFirstSelectedOption().getText());
Thread.sleep(5000);
dropList.selectByValue("10");
System.out.println(dropList.getFirstSelectedOption().getText());
Thread.sleep(5000);
Thread.sleep(10000);
}catch (Exception e)
{
e.printStackTrace();
}finally
{
driver.quit();
}
}
}
执行结果:
每页显示10条
false
-------------------------------
每页显示10条
每页显示20条
每页显示50条
-------------------------------
每页显示20条
每页显示50条
每页显示10条
-------------------------------
每页显示20条
每页显示50条
每页显示10条
-------------------------------
每页显示20条
每页显示50条
每页显示10条