简单的Selenium

初始化一个WebDriver,用的是FireFox浏览器:

 

final public WebDriver getWebDriver()
    {
        FirefoxProfile profile = new FirefoxProfile();
        profile.setEnableNativeEvents(true);
        profile.setPreference("general.useragent.override", "some UAstring");
        WebDriver driver = new FirefoxDriver(profile);

        // 隐性等待是指当要查找元素,而这个元素没有马上出现时,告诉WebDriver查询Dom一定时间,这个时间将在WebDriver对象实例整个生命周期都起作用。
        driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);

        driver.manage().window().maximize();
        driver.get("URL");
        return driver;
    }

 

 

设置窗口最大化:

 

driver.manage().window().maximize();

 

 

判断alert对话框是否存在:

public static boolean isAlertPresent(WebDriver driver)
    {
        try
        {
            driver.switchTo().alert();
            return true;
        }
        catch (NoAlertPresentException Ex)
        {
            return false;
        }
    }

 关闭浏览器窗口:

public static void closeWindow(WebDriver driver)
    {
        JavascriptExecutor js = (JavascriptExecutor) driver;
        js.executeScript("   window.close();   ");
        ((JavascriptExecutor) driver).executeScript("window.close();");
        
        Logs.debug("close window");
        driver.close();

    }

 查找控件的一些方法:

List<WebElement> elementList = driver.findElements(By
                .id("ID"));  //找到所有id为ID的控件集合
WebElement element = driver.findElement(By
                .id("ID"));  //找到id为ID的控件,如果该页面下有多个控件的id为ID,则会默认选择第一个
//其他通过属性查找控件的方法还有:
//By.name("name")
//By.className("class")
//By.tagName("标签名")
//By.linkText("超级链接中的Text内容")
//By.xpath("//span[contains(@id,'ID')]") //查找全局页面中的属性为id,属性值为ID的控件
//By.xpath("//li[@viewtype='3']")  //xpath查找的方式有多种,还有待发现
//selenium也可以查找某个控件下的所有控件或者一个控件,也就是所谓的父节点与子节点

 页面跳转:

driver.switchTo().defaultContent();  //跳转到默认页面,也就是相当于根节点
//通过xpath找到全局的属性名为src,属性值为SRC的控件
List<WebElement> iframes = driver.findElements(By.xpath("//iframe[contains(@src,'SRC')]"));
        for (WebElement iframe : iframes)
        {
            //判断当此iframe控件为显示状态,则进入到此iframe中
            if (iframe.isDisplayed())
            {
                Logs.info("go to frame:" + iframe.getAttribute("src"));
                driver.switchTo().frame(iframe);  //跳转到iframe页面中
                break;
            }
            else
            {
                Logs.debug("info : go to frame");
            }
        }

 关闭窗口:

driver.quit();  //关闭浏览器

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值