Selenium WebDriver 中文教程 API(一)之基础讲解

本文详细介绍了 Selenium WebDriver 的基本操作方法,包括 get 方法用于打开网页、findElement 方法用于查找页面元素、sendKeys 方法用于输入文本、click 方法用于模拟点击行为等。此外还对比了 close 和 quit 方法在关闭浏览器时的不同之处,并介绍了智能等待 implicitlyWait 的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要: Selenium WebDriver Api 基础方法的详细讲解 智能等待implicitlywait()&&sleep()方法的区别 close()&&quit()退出浏览器区别

在上一篇中我们介绍Webdriver java环境的搭建以及一个简单的程序,大家一步一步的操作应该可以正常的运行第一个自动化脚本。现在就结合具体的代码和大家解释一下常用的几个方法和用途。

 

package com.cxy.controller;

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.firefox.FirefoxDriver;

public class TestBaidu {

 

    public static void main(String[] args) {

        // TODO Auto-generated method stub

        WebDriver dr =  new FirefoxDriver();

 

        dr.get("http://www.baidu.com");

        

        dr.findElement(By.id("kw")).sendKeys("hello Selenium");

        

        dr.findElement(By.id("su")).click();

        

        try {

            Thread.sleep(3000);

        } catch (InterruptedException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

     

        dr.quit();

    }

 

}

 

package com.cxy.controller;

 

Package:是声明一个包,后面是包的名称:xxx.xxx.xxx。包的作用:一般拿来分层,将同一业务的方法类放在一个package,方便管理和查找。

 

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.firefox.FirefoxDriver;

 

Import 这个关键字是引入额外的一些库,引入程序以后就可以调用里面类和方法,这里面引入了By  WebDriver FirefoxDriver,就可以使用这三个类和其中封装的方法了。

 

WebDriver dr =  new FirefoxDriver();

 

新建一个WebDriver 的对象,但是new 的是FirefoxDriver的驱动。后续再介绍java基础知识会普及一下类和对象之间的关系。

 

dr.get("http://www.baidu.com");

        

dr.findElement(By.id("kw")).sendKeys("hello Selenium");

        

dr.findElement(By.id("su")).click();

 

上面说了dr WebDriver的对象,dr就可以调用WebDriver中的方法,也就是传说中WebDriver api

 

get(String url):这个方法就是打开指定的网站,注意url的格式要正确:

 

http://www.baidu.com 

 

FindElementBy by):是自动化过程中最常用的一个方法,在页面中寻找一个元素。其中传进入的参数就是你所定位到的元素,下一章节会具体的介绍元素定位方法。

 

SendkeysString string):向定位到的text 输入框中输入你想要输入的内容。上传文件也可以用sendkeys()string就为上传文件的绝对路径。

 

 

Click():为点击事件,定位到想要点击button或者其它可以点击的地方,click就可以模仿鼠标点击的事件了。

 

Thread.sleep(3000);

 

页面加载需要一个时间,webdriver 只能找到页面已有的元素,所以有些时候需要加入一个等待的时间,让页面元素完全加载出来,才能通过findelement方法找到你想要的元素。这个sleep()并不是WebDriver中自带的方法,而是java中休眠线程的一个方法,这里不是很推荐。WebDriver自带了一个智能等待的方法。

 

dr.manage().timeouts().implicitlyWait(arg0, arg1);

 

Arg0:等待的时间长度,int 类型 

Arg1:等待时间的单位 TimeUnit.SECONDS 一般用秒作为单位。

 

dr.quit()dr.close()都可以退出浏览器,简单的说一下两者的区别:第一个close,如果打开了多个页面是关不干净的,它只关闭当前的一个页面。第二个quit,是退出了所有Webdriver所有的窗口,退的非常干净,所以推荐使用quit最为一个case退出的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值