webdriver 爬虫 java_Java自动化测试(webdriver常用API 24)

本文详细介绍了WebDriver在Java自动化测试中的常用API,包括元素操作(click、sendKeys、getAttribute等)、导航控制(refresh、back、forward)、窗口管理(maximize、setPosition、getSize)以及等待策略(隐式等待、显式等待)。内容覆盖了元素交互、页面导航、窗口操作等关键功能,为Java自动化测试提供了全面的参考资料。
摘要由CSDN通过智能技术生成

元素基本API

click

触发当前元素的点击事件

driver.get("https://www.ketangpai.com/");

WebElement element = driver.findElement(By.xpath("//a[text()='教师培训']"));

element.click();

clear

清空内容

sendKeys

往文本框一类元素中写入内容

按键操作

element.sendKeys(Keys.CONTROL,"a"); // ctrl+a

element.sendKeys(Keys.ENTER); // 回车

element.sendKeys(Keys.BACK_SPACE); // 删除

getTagName

获取元素的标签名

getAttribute

根据属性名获取元素属性

getText

获取当前元素的文本值

isDisplayed

查看元素是否显示

isEnabled

查看元素是否可用

isSelected

查看元素是否选中

webdriver常用api

get(String url)

访问指定url

getCurrentUrl

获取当前页面地址

getTitle

获取当前页面标题

getPageSource

获取当前页面源码

quit

关闭驱动对象以及所有相关的窗口

close

关闭当前窗口

navigate对象

关于浏览器的基本功能操作,大部分由navigate对象提供

Navigation navigation = driver.navigation();

to

访问指定的url地址

navigation.to(url);

refresh

刷新当前页面

navigation.refresh();

back

浏览器回退操作

navigation.back();

forward

浏览器前进操作

navigation.forward();

windows基本操作

关于窗口的设置,基本都是由windows对象提供的

Window windows = driver.manage().window();

maximize

最大化

getPostition

窗口位置

getSize

窗口大小

setPosition

设置位置

setSize

设置窗口大小

WebDriver.Window window = driver.manage().window();

// 最大化

window.maximize();

// 全屏

window.fullscreen();

// 获取位置

window.getPosition();

// 获取大小

window.getSize();

等待

硬性等待

单位毫秒

Thread.sleep()

优点:使用简单

缺点:容易造成时间浪费

隐式等待

在设置的超时时间范围内不断查找元素,知道找到元素或者超时

driver.manage().timeouts().implicitlyWait(long time,TimeUnit unit)

优点:相对灵活

缺点:设置是针对全局的,在WebDriver实例整个生命周期有效,但并不是所有的元素都需要等待

不能适用更复杂的情况如:元素可点击,元素可见

// 隐式等待3秒

driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);

显示等待

自定义一段代码,用来等待某个条件发生后再继续执行后续代码(如:找到元素,元素可点击,元素已显示)

WebDriverWait wait = new WebDriverWait(driver, 10);

WebElement username = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("username")));

优点:每隔一段时间扫描一次页面,检查元素是否满足等待结果条件,比如查找元素,则检查元素是存在,不存在则继续等待,直到找到或超时。

该方法不是全局设置,特定需要等待的元素可以这样设置

presenceOfElementLocated:页面元素在页面中存在

visibilityOfElementLocated:页面元素在页面存在并且可见

elementToBeClickable:页面元素是否在页面上可用和可被点击

frameToBeAvailableAndSwitchTolt:切换到iframe中,返回boolean类型

urlContains:当前页面的url包含特定文本

titleContains:当前页面title包含特定文本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值