selenium 元素定位

以百度举例
//打开浏览器
chromeDriver=new ChromeDriver();
//访问baidu
chromeDriver.get(“http://www.baidu.com”);
一、基本元素定位
1、id定位
chromeDriver.findElement(By.id(“kw”)).sendKeys(“测试”);

2、name定位
chromeDriver.findElement(By.name(“wd”)).sendKeys(“测试”);

3、tagName
找到的元素是多个,不推荐使用
chromeDriver.findElement(By.tagName(“input”)).sendKeys(“测试”);

4、className
当遇到复合类名时,仅使用类名的其中一个且该类名在页面中是唯一的。
chromeDriver.findElement(By.className(“s_ipt”)).sendKeys(“测试”);

5、linkText(根据超链接的文本值获取元素)
chromeDriver.findElement(By.linkText(“新闻”)).click();

6、partialLinkText(根据超链接的部分文本值获取元素)
chromeDriver.findElement(By.partialLinkText(“新”)).click();

二、cssSelector定位
1、tagName
chromeDriver.findElement(By.cssSelector(“input”)).sendKeys(“测试”);;
2、id
chromeDriver.findElement(By.cssSelector("#kw")).sendKeys(“测试”);
3、className
(1)仅一个类名
chromeDriver.findElement(By.cssSelector(".s_ipt")).sendKeys(“测试”);
(2)复合类名
类名之间用“.”隔开
chromeDriver.findElement(By.cssSelector(".bg.s_btn")).click()
4、css精确定位
(1)一个属性定位:By.cssSelector(“标签名[属性名=‘属性值’]”);
chromeDriver.findElement(By.cssSelector(“input[maxlength=‘255’]”)).sendKeys(“测试”);
(2)多个属性定位:By.cssSelector(“标签名[属性1=‘属性值’][属性2='属性值’]”);
chromeDriver.findElement(By.cssSelector(“input[maxlength=‘255’][autocomplete=‘off’]”)).sendKeys(“测试”);

三、xpath元素定位
1、绝对定位
从跟开始找–/(根目录)
2、相对路径
//*[name=‘phone’]
//匹配指定节点,不考虑位置
*匹配任意元素节点,通配符
@选取属性
[]属性判断条件表达式

(1)一个属性定位
chromeDriver.findElement(By.xpath("//input[@maxlength=‘255’]")).sendKeys(“测试”);

(2)复合属性定位
chromeDriver.findElement(By.xpath("//input[@maxlength=‘255’ and @autocomplete=‘off’]")).sendKeys(“测试”);
(3)文本内容完全匹配
chromeDriver.findElement(By.xpath("//a[text()=‘新闻’]")).click();
(4)文本内容部分匹配
chromeDriver.findElement(By.xpath("//a[contains(text(),‘新’)]")).click();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值