selenium登陆模拟

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;
    }


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chenxuezhou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值