# （十二）定位一组元素




### 定位一组元素

定位一组元素一般有如下的作用

* 找到一组属性部分相同的元素，遍历元素，做一些批量操作
* 找到一组属性部分相同的元素，遍历元素，返回**1个或几个**特定的元素，做更精确的定位

findElements方法可以定位一组元素。该方法的参数跟findElement方法一致。

### 目的

* 学会使用findElements方法
* 学会使用getAttribute方法

### 场景

打印[测试教程网](http://www.testclass.net/)中所有的[selenium javascript](http://www.testclass.net/selenium_javascript/)教程的链接

### 代码

```javascript
var webdriver = require('selenium-webdriver'),
  By = webdriver.By;

var dr = new webdriver.Builder().forBrowser('chrome').build();
dr.get('http://www.testclass.net/selenium_javascript/');

dr.findElements(By.css('.post-stub a')).then(function(links){
  for (var i = 0; i < links.length; i++) {
    links[i].getAttribute('href').then(function(href) {
      console.log(href);
    });
  }
});
dr.quit();
```

### 运行结果

如下所示

```
http://www.testclass.net/selenium_javascript/init/
http://www.testclass.net/selenium_javascript/simple_automation_scripts/
http://www.testclass.net/selenium_javascript/view_document/
http://www.testclass.net/selenium_javascript/by_id/
http://www.testclass.net/selenium_javascript/by_name/
http://www.testclass.net/selenium_javascript/by_classname/
http://www.testclass.net/selenium_javascript/by_link_text/
http://www.testclass.net/selenium_javascript/by_css/
http://www.testclass.net/selenium_javascript/by_xpath/
http://www.testclass.net/selenium_javascript/keyboard/
http://www.testclass.net/selenium_javascript/action_sequence/
......
......
......
......
```




原始封面

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


