获取元素的可见文本

rin*_*ogo 2 javascript node.js selenium-webdriver

这是一个非常简单的问题,但我似乎找不到答案,因为selenium-webdriver的javascript绑定文档非常稀疏.(有很多关于java绑定的文档,但javascript是另一个故事)

假设driver并且webdriver它们通常是实例化的,我如何获得任意元素的文本?

我已经尝试过令人难以置信的getText(),然后()等组合,但我所做的一切似乎都没有用.我必须做一些完全错误的事情.

rin*_*ogo 5

为了它的价值,我在我的测试套件中的另一个测试中发现了以下类似(工作)的代码.对我来说很奇怪,我能够让其他测试(下面)工作,但不是我一直关注的那个.

driver.findElement(webdriver.By.css('.failures em')).getText().then(function(v) {
    expect(v).to.equal('0');
    done();
});
Run Code Online (Sandbox Code Playgroud)

也许我忽略了别的东西.

无论如何,我对selenium-webdriver令人困惑的混合同步/异步代码与Promises之类的东西感到非常沮丧.我决定转而使用WebdriverJS(http://www.webdriver.io/),到目前为止,已经发现迁移非常直观和令人满意.测试再次有趣!:)

祝你好运!