Selenium使用javascript获取元素的class属性

Selenium使用javascript获取元素的class属性,javascript,node.js,selenium,Javascript,Node.js,Selenium,我正在使用Selenium用Javascript编写测试自动化。我无法尝试提取DOM元素的类属性。这是我的密码: var webdriver = require('selenium-webdriver'); var driver = new webdriver.Builder(). withCapabilities(webdriver.Capabilities.ie()). build(); var usernameField = driver.f

我正在使用Selenium用Javascript编写测试自动化。我无法尝试提取DOM元素的类属性。这是我的密码:

var webdriver = require('selenium-webdriver');
var driver = new webdriver.Builder().
            withCapabilities(webdriver.Capabilities.ie()).
            build();
var usernameField = driver.findElement(webdriver.By.id('username'));
var classes = usernameField.getAttribute('class');
console.log(classes);
这将打印以下内容:

{ then: [Function: then],
cancel: [Function: cancel],
isPending: [Function: isPending] }

请说明如何查找元素的属性值。

发现问题,console.log()在分配任何值之前被异步激发。使用then语句强制它顺序执行修复了这个问题

var webdriver = require('selenium-webdriver');
var driver = new webdriver.Builder().
        withCapabilities(webdriver.Capabilities.ie()).
        build();
var usernameField = driver.findElement(webdriver.By.id('username'));
usernameField.getAttribute('class')
.then(function(classes){
    console.log(classes);
 });

我们看看这个“usernameField”元素的HTML怎么样?