/*
* 多种形式的菜单定位,如下拉框、复选框等
*/
package com.sfwork;
import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.Select;
public class PageObjectModel2 {
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
//设置WebDrivrer路径
System.setProperty("webdriver.chrome.driver", "C:\\Program Files (x86)\\Google"
+ "\\Chrome\\Application\\chromedriver.exe");
//创建webdriver对象,控制浏览器
WebDriver driver = new ChromeDriver();
//打开selenium处理网页
driver.navigate().to("file:///C:/Users/Administrator/Desktop/"
+ "%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95/example.html");
//浏览器最大化
driver.manage().window().maximize();
//线程休眠3秒
Thread.sleep(3000);
/* //上传文件
WebElement uploadfile = driver.findElement(By.name("attach[]"));
uploadfile.sendKeys("C:\\Users\\Administrator\\Desktop\\自动化测试\\book1.xsl");
//线程休眠3秒
Thread.sleep(3000);
*/
/* //弹出框
WebElement al = driver.findElement(By.name("alterbutton"));
al.click();
Alert alert = driver.switchTo().alert();
//打印出弹出框的内容
System.out.println(alert.getText());
//线程休眠3秒
Thread.sleep(3000);
//弹出框确定
// alert.accept();
//线程休眠3秒
Thread.sleep(3000);
//点击关闭
alert.dismiss();
//线程休眠3秒
Thread.sleep(3000);
*/
/* //向弹出框输入内容,example的第二个例子
driver.findElement(By.name("promptbutton")).click();
Alert alert = driver.switchTo().alert();
//获取弹出框内容
String text = alert.getText();
System.out.println(text);
//向弹出框输入内容
alert.sendKeys("hello");
//线程休眠3秒
Thread.sleep(3000);
//点击确定
alert.accept();
System.out.println(alert.getText());
//线程休眠3秒
Thread.sleep(2000);
alert.accept();
//线程休眠3秒
Thread.sleep(3000);
*/
/* //弹出框,二次确定
driver.findElement(By.name("confirmbutton")).click();
Alert alert = driver.switchTo().alert();
//获取第一个弹出框的内容
System.out.println(alert.getText());
//点击确定
alert.accept();
//获取第二个弹出框的内容
System.out.println(alert.getText());
//点击确定
alert.accept();
*/
/* //下拉选择
//通过ID定位到下拉列表
WebElement selector = driver.findElement(By.id("Selector"));
//创建select对象
Select select = new Select(selector);
//通过Text选择
// select.selectByVisibleText("香蕉");
//通过index选择,是根据自己本身的index去取,而不是取前面的index
// select.selectByIndex(3);
//通过value选择
select.selectByValue("grape");
//线程休眠3秒
Thread.sleep(3000);
//点击选择结果
driver.findElement(By.name("showSelectResult")).click();;
Alert alert = driver.switchTo().alert();
//输入弹出框内容
System.out.println(alert.getText());
//点击确定
alert.accept();
*/
/* //单选框
//就是直接定位到选项,然后点击
// driver.findElement(By.className("AliBaBa")).click();
//通过cssSelector定位
driver.findElement(By.xpath("/html/body/center/p[1]/table/tbody/tr[7]/td[2]/div/label[3]"));
//线程休眠3秒
Thread.sleep(3000);
*/
/* //复选框
//滚动定位,方法一,通过估窗体坐标x,y值
// JavascriptExecutor js= (JavascriptExecutor)driver;
// js.executeScript("window.scrollTo(1,1000)");
//方法二,取到定位元素的坐标,然后将值传进去
//得出定位元素的x坐标值和y坐标值
// int x = driver.findElement(By.id("checkbox")).getLocation().x;
// int y = driver.findElement(By.id("checkbox")).getLocation().y;
// JavascriptExecutor js= (JavascriptExecutor)driver;
// //将x值和y值传到scrollto中
// js.executeScript("window.scrollTo("+x+","+y+")");
//方法三,直接滚动到定位元素处
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("arguments[0].scrollIntoView()",driver.findElement(By.id("checkbox")));
//线程休眠3秒
Thread.sleep(3000);
//勾选wed复选框
driver.findElement(By.id("web")).click();
//勾选training复选框
driver.findElement(By.xpath("//*[@id='training']")).click();
//勾选friend复选框
driver.findElement(By.cssSelector("input#friend")).click();
//线程休眠3秒
Thread.sleep(3000);
*/
//下拉列表选择link
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("arguments[0].scrollIntoView()", driver.findElement(By.id("jumpMenu")));
WebElement selector = driver.findElement(By.id("jumpMenu"));
//创建一个select实例,并将selector传进去
Select select = new Select(selector);
//通过text选择
select.selectByVisibleText("新乡市教育局");
//线程休眠3秒
Thread.sleep(3000);
//关闭driver
driver.quit();
}
}