(八)通过css选择器去定位页面上的元素
乙醇 创建于 over 7 years 之前
最后更新: less than a minute 之前
阅读数: 205
css选择器
火狐的css教程应该是比较权威的css入门教程了。
对于selenium自动化测试来说,大家只需要掌握一些必备的css选择器知识就好了。
目的
- 熟悉selenium webdriver 定位方式
- 学会通过css选择器去定位元素
练习对象
我们使用html5-test-page作为我们的练习对象。
将html代码拷贝一份并保存到本地,文件名为index.html
。
场景
定位下面html代码所示的输入框,并使用sendKeys输入一些内容。
<p>
<label for="input__search">Search</label>
<input id="input__search" type="search" placeholder="Enter Search Term">
</p>
<p>
<label for="input__text2">Number Input</label>
<input id="input__text2" type="number" placeholder="Enter a Number">
</p>
<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);
// id selector
dr.findElement(By.css('#input__search')).sendKeys('测试教程网');
// attribute selector
dr.findElement(By.css('input[type="number"]')).sendKeys('66666');
// class selector
dr.findElement(By.css('.is-error')).sendKeys('should be error');
// class selector
dr.findElement(By.css('.is-valid')).sendKeys('should be valid');
运行结果
如下图所示