selenium 页面经常改变元素_Selenium系列之--04 常见元素操作总结

本文总结了Selenium的八种定位方法,包括cssSelector和xpath的高级用法,以及常见浏览器操作,如加载URL、刷新、截图等。此外,文章详细介绍了文本框、单选按钮、下拉选、提示框、超链接、表单、窗口、cookies的处理,还涉及隐式等待和执行JavaScript代码的方法。最后提到了jQuery定位作为补充。
摘要由CSDN通过智能技术生成

一、Selenium总共有八种定位方法

By.id()  通过id定位

By.name()  通过name 定位

By.xpath() 通过xpath定位

By.className() 通过className定位

By.cssSelector() 通过CSS 定位

By.linkText() 通过linkText

By.tagName() 通过tagName

By.partialLinkText() 通过匹到的部分linkText

目前,使用比较多的是cssSelector和xpath,

cssSelector有一些高级用法,熟练后可以方便地定位元素,如^用于匹配一个前缀,$用于匹配一个后缀,*用于匹配任意字符。例如:

a. 匹配一个有id属性,并且id属性是以”id_prefix_”开头的超链接元素:a[id^='id_prefix_']

b. 匹配一个有id属性,并且id属性是以”_id_sufix”结尾的超链接元素:a[id$='_id_sufix']

c. 匹配一个有id属性,并且id属性中包含”id_pattern”字符的超链接元素:a[id*='id_pattern']

最后总结:

1. 当页面元素有id属性时,最好尽量用id来定位。

2. xpath很强悍,但定位性能不是很好,所以尽量少用。如果确实少数元素不好定位,可以选择xpath或cssSelector。

3. 当要定位一组元素相同元素时,可以考虑用tagName(HTML 标记名称)或name。

4. 当有链接需要定位时,可以考虑linkText或partialLinkText方式。

NoSuchElementFoundException

findElement()和findElements()方法在找不到相应的元素时,就会抛出NoSuchElementFoundException异常

二、常用浏览器操作

// 1.浏览器中加载URL: get() --首先要启动浏览器driver.get("https://www.baidu.com");driver.navigate().to("http://www.baidu.com/");

//navigate方法会产生1个Navigator对象,其封装了与导航相关的一些方法,比如前进后退等

// 2.浏览器最大化: window().maximize()

driver.manage().window().maximize();

// 3.刷新:refresh() driver.navigate().refresh();

// 4.截图:getScreenshotAs() File screenfile=((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); FileUtils.copyFile(screenfile,new File("D:/12306.png"));

// 5.获取当前页的URL:getC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值