(六)通过className去定位页面上的元素

乙醇 创建于 over 7 years 之前

最后更新: less than a minute 之前

阅读数: 138

(六)通过className去定位页面上的元素

为什么是className

用className定位实际上是通过元素的html属性class定位,由于最早的webdriver client版本是使用java实现的,java中class是一个保留字,class不给用,所以就使用了className来替代。

复合的class属性

selenium*不支持*复合的class属性。比如class="col-md-1 col-sm-2",我们只能通过col-md-1或者是col-sm-2来定位,不能同时使用这2个class进行定位。

目的

  • 熟悉selenium webdriver 定位方式
  • 学会通过class属性去定位元素

练习对象

我们使用html5-test-page作为我们的练习对象。

将html代码拷贝一份并保存到本地,文件名为index.html

场景

我们将使用className定位下面html代码所示的输入框,并输入一些内容

<p>
  <label for="input__text3" class="error">Error</label>
  <input id="input__text3" class="is-error" type="text" placeholder="Text Input">
</p>
<p>
  <label for="input__text4" class="valid">Valid</label>
  <input id="input__text4" class="is-valid" type="text" placeholder="Text Input">
</p>

代码

var path = require('path');
var webdriver = require('selenium-webdriver'),
  By = webdriver.By;

var testFile = "file://" + path.join(__dirname,  "index.html")

var dr = new webdriver.Builder().forBrowser('chrome').build();
dr.get(testFile)

dr.findElement(By.className('is-error')).sendKeys('should be error');
dr.findElement(By.className('is-valid')).sendKeys('should be valid');

运行结果

如下图所示

0

相关课程

测试工具合集
图文
测试工具合集

课程分类: 自动化测试 测试工具 中间件

我们收集的各种测试工具

  • 已完结
  • 已更新7集
  • 最后更新时间: 2024-03-18 12:04:41

免费

查看详情
selenium python 综合教程
图文
selenium python 综合教程

课程分类: 自动化测试

selenium python入门及提升

  • 已完结
  • 已更新21集
  • 最后更新时间: 2024-03-18 10:51:39

免费

查看详情
slenium java 语言教程
图文
slenium java 语言教程

课程分类: 自动化测试

selenium java binding

  • 已完结
  • 已更新20集
  • 最后更新时间: 2024-03-18 10:26:10

免费

查看详情