package com.main;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
public class Assert3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//new Assert3().WindowSwicth();
//new Assert3().mouseAction();
new Assert3().alert();
}
//框架表单切换
public void WindowSwicth() {
System.setProperty("webdriver.firefox.marionette", ".\\Tools\\geckodriver.exe");
//File file = new File("D:\\BS\\example_frame.html");
WebDriver webdriver = new FirefoxDriver();
try {
//读取本地网页html
webdriver.get("D:\\BS\\example_frame.html");
webdriver.switchTo().frame("itcast_frame1");
webdriver.switchTo().frame("itcast_frame2");
webdriver.findElement(By.id("sb_form_q")).sendKeys("123");
//跳到上一层框架(表单)
webdriver.switchTo().parentFrame();
//跳到最外层框架(表单)
webdriver.switchTo().defaultContent();
webdriver.quit();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
webdriver.quit();
}
}
public void mouseAction(){
System.setProperty("webdriver.firefox.marionette", ".\\Tools\\geckodriver.exe");
WebDriver webdriver = new FirefoxDriver();
try {
webdriver.get("https://www.baidu.com");
Thread.sleep(2000);
Actions actions = new Actions(webdriver);
WebElement findElement = webdriver.findElement(By.cssSelector("#lg>a>div"));
//加入perform才算执行
actions.click(findElement).perform();
Thread.sleep(2000);
Set<String> windowHandles = webdriver.getWindowHandles();
ArrayList<String> arrayList = new ArrayList<String>(windowHandles);
webdriver.switchTo().window(arrayList.get(1));
System.out.println(arrayList.get(1));
//WebElement findElement2 = webdriver.findElement(By.id("su"));
//右击操作
//actions.contextClick(findElement2).perform();
WebElement findElement3 = webdriver.findElement(By.xpath("//*[@id='con-at']/div/div/div/div[4]/div[1]/div[1]/a/img"));
//鼠标悬停
actions.moveToElement(findElement3).perform();
Thread.sleep(2000);
/*webdriver.close();*/
//在本浏览器窗口再进入京东
webdriver.get("https://www.jd.com/?cu=true&utm_source=baidu-pinzhuan&utm_medium=cpc&utm_campaign=t_288551095_baidupinzhuan&utm_term=0f3d30c8dba7459bb52f2eb5eba8ac7d_0_f27a1e5f961f4799ab827c0425d42b91");
List<WebElement> findElements = webdriver.findElements(By.className("cate_menu_item"));
System.out.println(findElements.size());
//遍历去移动悬停一波
for (WebElement webElement : findElements) {
actions.moveToElement(webElement).perform();
System.out.println(webElement.getText());
Thread.sleep(2000);
}
Thread.sleep(2000);
webdriver.quit();
} catch (Exception e) {
e.printStackTrace();
webdriver.quit();
}
}
//弹出窗操作
public void alert(){
System.setProperty("webdriver.firefox.marionette", ".\\Tools\\geckodriver.exe");
WebDriver webdriver = new FirefoxDriver();
Actions actions = new Actions(webdriver);
try {
webdriver.get("https://www.baidu.com");
WebElement findElement = webdriver.findElement(By.linkText("设置"));
Thread.sleep(2000);
actions.moveToElement(findElement).perform();
webdriver.findElement(By.className("setpref")).click();
Thread.sleep(2000);
webdriver.findElement(By.cssSelector("[for='sh_1']")).click();
webdriver.findElement(By.className("prefpanelgo")).click();
Thread.sleep(2000);
webdriver.switchTo().alert().accept();
Thread.sleep(2000);
webdriver.findElement(By.id("kw")).sendKeys("123");
Thread.sleep(2000);
webdriver.quit();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
webdriver.quit();
}
}
}