selenuim.properties文件涉及一些个人信息,自己加
package selenium;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.interactions.Actions;
import java.io.IOException;
import java.util.Properties;
import java.util.Set;
public class Case {
private ChromeDriver driver = new ChromeDriver();
public void login() {
ChromeOptions options = new ChromeOptions();
driver.get(System.getProperty("url"));
System.out.println(driver.getWindowHandles());
try {
String title = driver.getTitle();
do {
loginOpt();
Thread.sleep(3000);
} while (title.equals(driver.getTitle()));
} catch (Exception e) {
e.printStackTrace();
driver.quit();
}
}
public void loginOpt() {
driver.switchTo().frame("login-iframe");
Actions action = new Actions(driver);
By username = By.name("username");
By userpass = By.name("userpass");
By by = By.className("domain-body-submit-control");
action.sendKeys(driver.findElement(username), System.getProperty("name")).perform();
action.sendKeys(driver.findElement(userpass), System.getProperty("pass")).perform();
action.moveToElement(driver.findElement(by));
action.click();
action.perform();
}
public void base() {
Actions action = new Actions(driver);
By username = By.name("username");
By userpass = By.name("userpass");
By by = By.className("domain-body-submit-control");
action.sendKeys(driver.findElement(username), System.getProperty("name")).perform();
action.sendKeys(driver.findElement(userpass), System.getProperty("pass")).perform();
action.moveToElement(driver.findElement(by));
action.click();
action.perform();
}
public static void main(String[] args) throws IOException {
Properties properties = System.getProperties();
properties.load(Case.class.getClassLoader().getResourceAsStream("selenuim.properties"));
Case demo = new Case();
demo.login();
// test();
}
/**
* 切换窗口
*
* @param driver webDriver
* @param windowsTitle 要切换到的windows的title
* @return
*/
public static boolean switchWindows(WebDriver driver, String windowsTitle) {
//获取所有的窗口句柄
Set<String> handles = driver.getWindowHandles();
//获取当前窗口的句柄
String currentHandle = driver.getWindowHandle();
//获取当前窗口的title
String currentTitle = driver.getTitle();
//要切换窗口为当前窗口则直接返回true
if (currentTitle.equals(windowsTitle)) {
return true;
}
//处理要切换到的窗口非当前窗口的情况
for (String string : handles) {
//略过当前窗口
if (string.equals(currentHandle)) {
continue;
}
//切换并检查其title是否和目标窗口的title是否相同,是则返回true,否则继续
if ((driver.switchTo().window(string).getTitle()).equals(windowsTitle)) {
return true;
}
}
return false;
}
}