selenium API(笔记二)

1、访问网页地址
driver.get()和driver.navigate().to()的区别:前者加载网页时会检查是否加载完成,并判断加载过程中是否有异常,有默认的加载超时时间,后者不会检查,也没有超时时间。
2、返回上一个访问的网页
drive.navigate().back();
3、模拟单击浏览器的前进功能
driver.navigate().forward();
4、刷新当前网页
driver.navigate().refresh();
5、操作浏览器窗口

@Test
    //操作浏览器窗口
    public void operateBrowser(){
        WebDriver driver = new FirefoxDriver();//启动Firefox浏览器
        Point point = new Point(500,500);//浏览器位置
        Dimension dimension = new Dimension(500,500);//浏览器窗口大小
        driver.manage().window().setPosition(point);
        driver.manage().window().setSize(dimension);
        System.out.println(driver.manage().window().getPosition());
        System.out.println(driver.manage().window().getSize());
        driver.manage().window().maximize();//最大化浏览器
        driver.get("http://www.sougou.com");

    }

6、获取页面的Tile属性

public void getTitle(){
        WebDriver driver = new FirefoxDriver();
        driver.get("http://www.sougou.com");
        String title = driver.getTitle();
        System.out.println(title);
        assertEquals("搜狗®宠物天下 - 爱宠物,爱生活", title);//判断页面是否是"搜狗®宠物天下 - 爱宠物,爱生活"
    }

7、获取页面的源代码

public void getPageSource(){
        WebDriver driver = new FirefoxDriver();
        driver.get("http://www.sougou.com");
        String pageSource = driver.getPageSource();
        System.out.println(pageSource);
        assertTrue(pageSource.contains("宠物"));
    }

8、获取当前页面的URL地址
driver.getCurrentUrl();
9、在输入框中清除原有的文字内容
被测试网页的HTML源码:

<input type="text" placeholder="" id="toolber-keyword" name="" class="input_search" autocomplete="off">

java测试代码:

public void clearInputBoxTest() throws InterruptedException{
        WebDriver driver = new FirefoxDriver();
        driver.get("https://www.csdn.net/");
        WebElement input = driver.findElement(By.id("toolber-keyword"));
        input.sendKeys("hahhahha");
        Thread.sleep(3000);//等待3秒,查看操作后的页面结果
        input.clear();
    }

10、单击按钮
被测试网页HTML:

<a target="_blank" title="博客" class="toolbar_to_feed" href="//blog.csdn.net/">博客</a>

java代码实现

public void clickButton(){
        WebDriver driver = new FirefoxDriver();
        driver.get("https://www.csdn.net/");
        driver.findElement(By.xpath("//li/a[@title='博客']")).click();
    }

11、双击某个元素

public void doubleClick(){
        WebDriver driver = new FirefoxDriver();
        WebElement inputBox = driver.findElement(By.id("inputBox"));
        Actions act = new Actions(driver);
        act.doubleClick(inputBox).build().perform();//build()表示编译,可以不要;perform()表示执行。
    }

12、操作单选下拉列表

public void operateDropList(){
        WebDriver driver = new FirefoxDriver();
        driver.get("http://www.scuec.edu.cn/s/1/t/560/main.htm");
        Select dropList = new Select(driver.findElement(By.id("p7c4")));//找到下拉列表元素
        assertTrue(dropList.isMultiple());//判断下拉列表是否允许多选
        assertEquals("法学院", dropList.getFirstSelectedOption().getText());//判断下拉列表第一个选项是否为“法学院”
        dropList.selectByIndex(3);//选中下拉列表第四个选项
        assertEquals("民族学与社会学学院", dropList.getFirstSelectedOption().getText());

    }

13、将当前浏览器的窗口截屏

public void captureScreenInCurrentWindow() throws IOException{
        WebDriver driver = new FirefoxDriver();
        driver.get("http://www.scuec.edu.cn/s/1/t/560/main.htm");
        File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
        FileUtils.copyFile(scrFile, new File("c:/testing/test.png"));

    }

14、杀掉Windows的浏览器进程

 WindowsUtils.tryToKillByName("firefox.exe");
 WindowsUtils.tryToKillByName("iexplore.exe");
 WindowsUtils.tryToKillByName("chrome.exe");

15、双击与拖拽

public void Drop(){
        WebDriver driver = new FirefoxDriver();
        Actions act = new Actions(driver);
        WebElement mess = driver.findElement(By.id("message"));
        act.doubleClick(mess).build().perform();//双击操作

        WebElement src = driver.findElement(By.id("dragable"));
        WebElement target = driver.findElement(By.id("dropable"));
        act.dragAndDrop(src, target).perform();//拖拽到目标位置
        act.dragAndDropBy(src, 0, 10).perform();//向下拖拽10个像素
        act.dragAndDropBy(src, 10, 0).perform();//向右拖拽10个像素点
    }

16、操作单选下拉列表和单选框

public void operateDropList(){
        WebDriver driver = new FirefoxDriver();
        driver.get("http://www.scuec.edu.cn/s/1/t/560/main.htm");
        //操作单选下拉列表
        Select dropList = new Select(driver.findElement(By.name("make")));//找到下拉列表元素
        assertTrue(dropList.isMultiple());//判断下拉列表是否允许多选
        dropList.selectByIndex(0);//通过索引选中
        dropList.selectByValue("honda");//通过值选中
        dropList.selectByVisibleText("honda");//通过可见文本查找
        dropList.deselectAll();//取消所有选中

        //操作单选框
        WebElement radioOption = driver.findElement(By.cssSelector("form input:nth-child[1]"));
        radioOption.click();//选中单选框
        radioOption.isSelected();//判断单选框是否被选中

    }

17、执行JavaScript脚本

public void executeJavaScript(){
        WebDriver driver = new FirefoxDriver();
        driver.get("http://www.sougou.com");
        JavascriptExecutor js = (JavascriptExecutor)driver;
        String title =(String)js.executeScript("return document.title");//返回当前浏览器窗口的Tile值
        System.out.println(title);
        String serachButtonText = (String)js.executeScript("var button = document.getElementByid('stb');returnn button.value");//获取页面的搜索按钮对象,并返回搜索按钮文字
        System.out.println(serachButtonText);
    }

猜你喜欢

转载自blog.csdn.net/fengke1813/article/details/80198217