selenium学习笔记——定位元素

  上一篇介绍了自己对selenium的理解以及测试环境的搭建~这篇主要介绍一下如何定位我们的页面元素。我们以火狐浏览器为例,其中火狐浏览器的版本采用较低的35.0.1版本,大家可以从网站上下载相应的版本。

  我们在对页面中元素进行定位之前,要先对浏览器进行操作:

复制代码
 1 public class SearchTest {
 2     public static void main(String[] args) {
 3         // 1、打开浏览器——创建浏览器驱动
 4        WebDriver driver = new FirefoxDriver();
 5         // 2、智能等待10秒
 6       driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
 7         // 3、窗口最大化
 8       driver.manage().window().maximize();
 9         // 4、打开网页
10         driver.get("www.baidu.com");
11         // 5、定位界面元素,并对元素进行操作——输入内容sendKeys(),点击按钮click()
12       driver.findElement(By.className("s_ipt")).sendKeys("李宗盛");
13       driver.findElement(By.id("su")).click();
14         // 6、关闭浏览器
15         driver.close();
16         // 7、关闭驱动
17         driver.quit();
18     }
19 }
复制代码

其中,第五步的定位元素有八种方式:

  1. className:通过元素的class定位,findElement()方法表示查找元素,By.className()表示通过类名来定位界面上的输入框,sendKeys()表示向输入框中填入“李宗盛”     driver.findElement(By.className("spread")).sendKeys("李宗盛");
  2. id:driver.findElement(By.id("username")).sendKeys("admin");
  3. linkText:driver.findElement(By.linkText("淘宝网")).click();
  4. partialLinkText:driver.findElement(By.partialLinkText("淘")).click(); 当连接文本比较长,只写部分也可以
  5. name:driver.findElement(By.name("username")).sendKeys("admin");
  6. tagName:driver.findElement(By.tagName("a")).click(); 当页面中的标签名唯一才可以使用
  7. cssSelector:driver.findElement(By.cssSelector("input[type='button']")).click(); 定位到元素后,直接右键——选择css,复制css路径
  8. xpath:driver.findElement(By.xpath("//input[@value='查询']")).click();  一般来说,其他方式定位不到的时候,就可以用这种方式定位;但是如果所有页面元素都用这种方式定位,那么代码的可读性就会比较差

这是元素的定位方式,代码中其他部分,是公共部分。我们类比较多的时候,就可以把这部分公共代码抽取出来。

下一部分,介绍一些页面的高级操作

posted @   豆芽花花儿酱  阅读(258)  评论(0编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤
点击右上角即可分享
微信分享提示