selenium-java之元素定位

本文介绍了使用Selenium WebDriver进行Web元素定位的方法,包括findElement和findElements API,以及By类中的八大定位策略:id、name、tagName、className、linkText、partialLinkText、cssSelector和xpath。通过具体代码示例展示了如何使用这些策略,如By.id、By.name、By.className等,同时详细解释了cssSelector和xpath的多种用法。

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

Webdriver的两个Api:

findElement(By by):以给定的方式查找第一个元素

findElements(By by):以给定的方式查找符合条件的元素列表

By类种八大定位策略:id,name,tagname,classname,linkText,partialinkText,cssSelector,xpath(静态方法,类型都为String)

 

1,id:By.id(String id)

html中的id是唯一标识一个元素,一个元素的id在一个网页中是唯一的

定位代码:

WebElement input = driver.findElement(By.id("kw"));

2,name:By.name(String name)

用于提交到服务器后 的表单数据进行标识,只有设置了name属性的表单元素才能用于提交表单时传递数据

定位代码:

WebElement input1 = driver.findElement(By.name("wd"));

3,By.tagname:数据标签名 

WebElement input1 = driver.findElement(By.tagname("input")); 

4,By.className(String className) 样式名

classname 是指标签的class属性中的值

 WebElement input1 = driver.findElement(By.className("s_ipt")); 

5,by.linktext 超链接

WebElement input1 = driver.findElement(By.linktext("新闻")); 

6,By.partialinkText部分超链接文本

WebElement inputnew = driver.findElement(By.partialLinkText("新"));

7,By.cssSelector样式选择器

7.1.1 通过id方式

格式:By.cssSelector("标签名#id");

By.cssSelector("input#kw");

7.1.2通过classname样式名

格式:By.cssSelector(".classname");

By.cssSelector(".s_ipt");

7.1.3通过元素属性定位

语法:By.cssSelector("标签名"[属性名1='属性值'][属性名2='属性值']")

By.cssSelector("input[value='255']");

8,By.xpath (String xpath)

xpath是基于xml文档树状结构,是xml路径语言

8.1.1 根据绝对路径

可以通过浏览器右击标签->copy-copy xpath

8.1.2与属性结合

By.xpath("//*[@id="kw"]")

* 任意元素节点

[]判断的表达式

@选取属性

id="xx"选取的 属性和值的表达式

8.1.3相对路径

By.xpath("//form[1]/span[1]/input")

8.1.4逻辑(and、or)

By.xpath("//input[@class='s_ipt' and @length='255']")

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值