为了账号安全,请及时绑定邮箱和手机立即绑定

Selenium+Java 笔记(2)

标签:
测试
1.定位元素

.id

findElement(By.id())

.name

findElement(By.name())

.class name

findElement(By.className())

.tag name
在HTML中,tag往往用来定义一类功能,所以通过tag识别某个元素很难,因为前端代码中有大量的div input a标签。

findElement(By.tagName())

.link text
通过元素标签对之间的文本信息定位元素。

findElement(By.linkText())

.partial link text
通过元素标签对之间的部分文本信息定位元素。

findElement(By.partialLinkText())

.xpath
Xpath是XML文档的一种定位元素语言,而HTML可以看做是XML的一种实现,所以Selenium可以使用Xpath在Web应用中定位元素。

findElement(By.xpath())
//绝对路径定位,百度首页的新闻链接
driver.findElement(By.xpath("/html/body/div[2]/div/div/div[3]/a")).click();
//元素属性定位,白熊登录页面
driver.findElement(By.xpath("//button[@class='login']")).click();
//不指定标签名,可以用*代替
driver.findElement(By.xpath("//*[@class='login']")).click();
//层级和属性结合,白熊搜索
driver.findElement(By.xpath("//div[@class='clearfix']/input")).sendKeys("selenium");
//使用逻辑运算符,白熊登录页面
driver.findElement(By.xpath("//button[@class='login' and @onclick='comm.includeLogin(true)']")).click();

.cssSelector
CSS(Cascading Style Sheets)是一种语言,它被用来描述HTML、XML的表型形式。CSS使用选择器来为页面元素绑定属性。这些选择器可以作为Selenium定位元素的另一种策略。
关于CSS还是了解的太少,今天还把element>element与element element弄混了,具体可以在http://www.w3school.com.cn/cssref/css_selectors.asp 这里了解更多

findElement(By.cssSelector())
//.class class选择器,选择class=""的所有元素,类似于Xpath的.className
driver.findElement(By.cssSelector(".login")).click();
//#id id选择器,选择id=""的所有元素,类似于Xpath的.id
driver.findElement(By.cssSelector("#kw")).sendKeys("selenium");
//通过属性定位
driver.findElement(By.cssSelector("button[class='login']")).click();
//组合定位
driver.findElement(By.cssSelector("div.themelib div:nth-child(1) a:nth-child(2) h2")).click();
2.定位一组元素
//8种方法和定位单个元素一样,只是单词element后面需要加s

list<webElement> allcheckboxes = new list<webElement>;
allcheckboxes = driver.findElements(By.cssSelector("input[type=checkbox]"));
int number = allcheckboxes.size();//获取元素组中元素的数量
allcheckboxes.get(number-1).click();//指定元素组的某一个元素,并进行操作
driver.navigate.refresh();//刷新页面,去掉已勾选的项
点击查看更多内容
3人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消