package webdriver;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.*;
import org.openqa.selenium.Cookie.Builder;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxProfile;
import org.openqa.selenium.firefox.internal.ProfilesIni;
import org.openqa.selenium.interactions.Action;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.Select;
import org.openqa.selenium.support.ui.WebDriverWait;
import com.opera.core.systems.OperaSettings.Capability;
import com.thoughtworks.selenium.Selenium;
public class OpenBrowsers {
public static void main(String[] args) {
// 打开默认的firefox
// WebDriver driver = new FirefoxDriver();
// 打开指定路径的firefox 方法1
System.setProperty("webdriver.firefox.bin", "D:\\firefox\\firefox.exe");
WebDriver driver = new FirefoxDriver();
// 打开指定路径的firefox 方法2
// File pathToFirefoxBinary = new File("D:\\firefox\\firefox.exe");
// FirefoxBinary firefoxbin= new FirefoxBinary(pathToFirefoxBinary);
// WebDriver driverFireFox1=new FirefoxDriver(firefoxbin,null);
/*
* //打开ie WebDriver ie=new InternetExplorerDriver(); //chrome
* System.setProperty("webdriver.chrome.driver", "D:\\chrome.exe");
* System.setProperty("webdriver.chrome.bin",
* "D:\\360jisu\\360Chrome\\Chrome\\Application\\360chrome.exe");
*/
// driver.get(url);
// driver.quit();
// driver.close();
/*
* driver.getTitle(); driver.getCurrentUrl();
* System.out.println("title"+"\n"+driver.getTitle());
* driver.getWindowHandle();//当前浏览器的窗口句柄
* driver.getWindowHandles();//当前浏览器的所有窗口句柄
* driver.getPageSource();//当前页面源码
*//**
* 执行js
*/
/*// ((JavascriptExecutor)driver).executeScript("alert(\"hello,this is a test\")");
// 元素定位
driver.get("http://www.51.com");
WebElement element = driver.findElement(By.className("login clear"));
System.out.println(element.getTagName());
// findElements,找到所有input对象
List<WebElement> element1 = driver.findElements(By.tagName("input"));
for (WebElement webElement : element1) {
System.out.println(webElement.getAttribute("id"));
}
// 层级定位
WebElement classelement = driver.findElement(By.className("login"));
List<WebElement> element2 = driver.findElements(By.tagName("label"));
for (WebElement webElement : element2) {
System.out.println(webElement.getText());
}
// 定位frame
driver.findElement(By.id("id1"));
切换到frame中
driver.switchTo().frame("frame");
driver.findElement(By.id("div1"));
driver.findElement(By.id("input1"));
返回default content
driver.switchTo().defaultContent();
driver.findElement(By.id("id1"));
// 获得新窗口
获得当前窗口句柄
String currentWindow = driver.getWindowHandle();
// 得到所有窗口句柄
Set<String> handls = driver.getWindowHandles();
Iterator<String> it = handls.iterator();
while (it.hasNext()) {
if (currentWindow == it.next())
continue;
WebDriver window = driver.switchTo().window(it.next());
System.out.println("title,url=" + window.getTitle() + ","
+ window.getCurrentUrl());
}
// 返回之前的窗口
WebDriver window = driver.switchTo().window(currentWindow);
*/
/* //alert窗口1
driver.findElement(By.id("alert")).click();
Alert alert=driver.switchTo().alert();//切换窗口到alert
String text=alert.getText();
System.out.println(text);
alert.dismiss();//关闭alert窗口
//confirm窗口2,确定按钮
driver.findElement(By.id("confirm")).click();
Alert confirm= driver.switchTo().alert();
String text1=confirm.getText();
System.out.println(text1);
confirm.accept();//点击确定按钮
//警告窗口
driver.findElement(By.id("prompt")).click();
Alert prompt= driver.switchTo().alert();
String text2=confirm.getText();
System.out.println(text2);
prompt.sendKeys("jarvi");
prompt.accept();
//select选项框,索引
Select selectAge=new Select(driver.findElement(By.id("User_Age")));
selectAge.selectByIndex(2);
//select选项框,value属性
Select selectShen=new Select(driver.findElement(By.id("User_Shen")));
selectShen.selectByValue("上海");
//select选项框,通过可见文本
Select selectTown=new Select(driver.findElement(By.id("User_Town")));
selectTown.selectByVisibleText("浦东");
//遍历一下下拉列表所有选项,用click进行选中选项
Select selectCity=new Select(driver.findElement(By.id("User_City")));
for (WebElement e : selectCity.getOptions()) {
e.click();
}
//添加cookie
Cookie cookie= new Cookie("name", "vaule");
driver.manage().addCookie(cookie);
//获得当前页面下所有的cookie
Set<Cookie> cookies=driver.manage().getCookies();
for (Cookie c : cookies) {
c.getDomain();
c.getName();
c.getValue();
c.getExpiry();
c.getPath();
}
//删除cookie
driver.manage().deleteAllCookies();
driver.manage().deleteCookieNamed("name");
driver.manage().deleteCookie(cookie);
//元素拖拽
WebElement element = driver.findElement(By.id("item1"));
WebElement target = driver.findElement(By.id("drop"));
(new Actions(driver)).dragAndDrop(element, target).perform();
//显示等待页面元素加载完毕
WebDriverWait wait=new WebDriverWait(driver, 10);
wait.until(new ExpectedCondition<WebElement>() {
@Override
public WebElement apply(WebDriver d) {
// TODO Auto-generated method stub
return d.findElement(By.id("b"));
}
}).click();
WebElement element2= driver.findElement(By.cssSelector(".red_box"));
((JavascriptExecutor)driver).executeScript("argument[0].style.border=\"5px solid yellow \"", element);
//隐形等待
//设置10秒
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
*/
/*
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
File screenShotFile=((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
try {
FileUtils.copyFile(screenShotFile, new File("d:/test.png"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//actions类各种操作
//单一操作
WebElement element=driver.findElement(By.id("test"));
WebElement element1=driver.findElement(By.id("test1"));
element.sendKeys("test");
element1.click();
Actions action= new Actions(driver);
WebElement element2 = driver.findElement(By.id("test"));
WebElement element3 = driver.findElement(By.id("su"));
action.sendKeys(element2,"test").perform();
action.click().perform();
//组合操作
(new Actions(driver)).dragAndDrop(driver.findElement(By.id("item")), element3).perform();
*/
/* //操作firefox profile
FirefoxProfile profile= new FirefoxProfile();
profile.setPreference("aaa", "bbbb
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.*;
import org.openqa.selenium.Cookie.Builder;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxProfile;
import org.openqa.selenium.firefox.internal.ProfilesIni;
import org.openqa.selenium.interactions.Action;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.Select;
import org.openqa.selenium.support.ui.WebDriverWait;
import com.opera.core.systems.OperaSettings.Capability;
import com.thoughtworks.selenium.Selenium;
public class OpenBrowsers {
public static void main(String[] args) {
// 打开默认的firefox
// WebDriver driver = new FirefoxDriver();
// 打开指定路径的firefox 方法1
System.setProperty("webdriver.firefox.bin", "D:\\firefox\\firefox.exe");
WebDriver driver = new FirefoxDriver();
// 打开指定路径的firefox 方法2
// File pathToFirefoxBinary = new File("D:\\firefox\\firefox.exe");
// FirefoxBinary firefoxbin= new FirefoxBinary(pathToFirefoxBinary);
// WebDriver driverFireFox1=new FirefoxDriver(firefoxbin,null);
/*
* //打开ie WebDriver ie=new InternetExplorerDriver(); //chrome
* System.setProperty("webdriver.chrome.driver", "D:\\chrome.exe");
* System.setProperty("webdriver.chrome.bin",
* "D:\\360jisu\\360Chrome\\Chrome\\Application\\360chrome.exe");
*/
// driver.get(url);
// driver.quit();
// driver.close();
/*
* driver.getTitle(); driver.getCurrentUrl();
* System.out.println("title"+"\n"+driver.getTitle());
* driver.getWindowHandle();//当前浏览器的窗口句柄
* driver.getWindowHandles();//当前浏览器的所有窗口句柄
* driver.getPageSource();//当前页面源码
*//**
* 执行js
*/
/*// ((JavascriptExecutor)driver).executeScript("alert(\"hello,this is a test\")");
// 元素定位
driver.get("http://www.51.com");
WebElement element = driver.findElement(By.className("login clear"));
System.out.println(element.getTagName());
// findElements,找到所有input对象
List<WebElement> element1 = driver.findElements(By.tagName("input"));
for (WebElement webElement : element1) {
System.out.println(webElement.getAttribute("id"));
}
// 层级定位
WebElement classelement = driver.findElement(By.className("login"));
List<WebElement> element2 = driver.findElements(By.tagName("label"));
for (WebElement webElement : element2) {
System.out.println(webElement.getText());
}
// 定位frame
driver.findElement(By.id("id1"));
切换到frame中
driver.switchTo().frame("frame");
driver.findElement(By.id("div1"));
driver.findElement(By.id("input1"));
返回default content
driver.switchTo().defaultContent();
driver.findElement(By.id("id1"));
// 获得新窗口
获得当前窗口句柄
String currentWindow = driver.getWindowHandle();
// 得到所有窗口句柄
Set<String> handls = driver.getWindowHandles();
Iterator<String> it = handls.iterator();
while (it.hasNext()) {
if (currentWindow == it.next())
continue;
WebDriver window = driver.switchTo().window(it.next());
System.out.println("title,url=" + window.getTitle() + ","
+ window.getCurrentUrl());
}
// 返回之前的窗口
WebDriver window = driver.switchTo().window(currentWindow);
*/
/* //alert窗口1
driver.findElement(By.id("alert")).click();
Alert alert=driver.switchTo().alert();//切换窗口到alert
String text=alert.getText();
System.out.println(text);
alert.dismiss();//关闭alert窗口
//confirm窗口2,确定按钮
driver.findElement(By.id("confirm")).click();
Alert confirm= driver.switchTo().alert();
String text1=confirm.getText();
System.out.println(text1);
confirm.accept();//点击确定按钮
//警告窗口
driver.findElement(By.id("prompt")).click();
Alert prompt= driver.switchTo().alert();
String text2=confirm.getText();
System.out.println(text2);
prompt.sendKeys("jarvi");
prompt.accept();
//select选项框,索引
Select selectAge=new Select(driver.findElement(By.id("User_Age")));
selectAge.selectByIndex(2);
//select选项框,value属性
Select selectShen=new Select(driver.findElement(By.id("User_Shen")));
selectShen.selectByValue("上海");
//select选项框,通过可见文本
Select selectTown=new Select(driver.findElement(By.id("User_Town")));
selectTown.selectByVisibleText("浦东");
//遍历一下下拉列表所有选项,用click进行选中选项
Select selectCity=new Select(driver.findElement(By.id("User_City")));
for (WebElement e : selectCity.getOptions()) {
e.click();
}
//添加cookie
Cookie cookie= new Cookie("name", "vaule");
driver.manage().addCookie(cookie);
//获得当前页面下所有的cookie
Set<Cookie> cookies=driver.manage().getCookies();
for (Cookie c : cookies) {
c.getDomain();
c.getName();
c.getValue();
c.getExpiry();
c.getPath();
}
//删除cookie
driver.manage().deleteAllCookies();
driver.manage().deleteCookieNamed("name");
driver.manage().deleteCookie(cookie);
//元素拖拽
WebElement element = driver.findElement(By.id("item1"));
WebElement target = driver.findElement(By.id("drop"));
(new Actions(driver)).dragAndDrop(element, target).perform();
//显示等待页面元素加载完毕
WebDriverWait wait=new WebDriverWait(driver, 10);
wait.until(new ExpectedCondition<WebElement>() {
@Override
public WebElement apply(WebDriver d) {
// TODO Auto-generated method stub
return d.findElement(By.id("b"));
}
}).click();
WebElement element2= driver.findElement(By.cssSelector(".red_box"));
((JavascriptExecutor)driver).executeScript("argument[0].style.border=\"5px solid yellow \"", element);
//隐形等待
//设置10秒
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
*/
/*
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
File screenShotFile=((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
try {
FileUtils.copyFile(screenShotFile, new File("d:/test.png"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//actions类各种操作
//单一操作
WebElement element=driver.findElement(By.id("test"));
WebElement element1=driver.findElement(By.id("test1"));
element.sendKeys("test");
element1.click();
Actions action= new Actions(driver);
WebElement element2 = driver.findElement(By.id("test"));
WebElement element3 = driver.findElement(By.id("su"));
action.sendKeys(element2,"test").perform();
action.click().perform();
//组合操作
(new Actions(driver)).dragAndDrop(driver.findElement(By.id("item")), element3).perform();
*/
/* //操作firefox profile
FirefoxProfile profile= new FirefoxProfile();
profile.setPreference("aaa", "bbbb