# （五）通过name去定位页面上的元素




### 表单元素

一般来说表单元素的标签大多出现在```<form></form>```标签中，比如

* ```<input type="text">```: 单行文本框
* ```<input type="checkbox">```: checkbox
* ```<input type="radio">```: radio
* ```<select><option></option></select>```: 下拉框
* ```<textarea></textarea>```: 多行文本

如果这样元素有name属性的话，建议使用name属性去定位，因为相比较其他属性，name属性更加稳定。

有一些元素比如checkbox和radio往往有多个name属性相同的元素，如下面的html代码所示

```html
<ul class="list list--bare">
  <li><label for="radio1"><input id="radio1" name="radio" type="radio" class="radio" checked="checked"> Option 1</label></li>
  <li><label for="radio2"><input id="radio2" name="radio" type="radio" class="radio"> Option 2</label></li>
  <li><label for="radio3"><input id="radio3" name="radio" type="radio" class="radio"> Option 3</label></li>
</ul>

```

这时候也可以使用name属性定位，不过需要用到后面讲的定位一组元素的知识了。

### 目的

* 熟悉selenium webdriver 定位方式
* 学会通过name属性去定位元素


### 示例代码

```javascript
// <input name="username" />
dr.findElement(By.name('username')).sendKeys('测试教程网');


// <input name="password" type="password" />
dr.findElement(By.name('password')).sendKeys('就不告诉你');
```




原始封面

![课程图片](https://images.unsplash.com/photo-1492446190781-58ac4285911d?w=300)


