Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取元素的可见文本_Javascript_Node.js_Selenium Webdriver - Fatal编程技术网

Javascript 获取元素的可见文本

Javascript 获取元素的可见文本,javascript,node.js,selenium-webdriver,Javascript,Node.js,Selenium Webdriver,这是一个非常简单的问题,但我似乎找不到答案,因为SeleniumWebDriver的javascript绑定文档非常稀少。(有很多关于java绑定的文档,但javascript是另一回事) 假设driver和webdriver通常是实例化的,如何获取任意元素的文本 我尝试了大量的getText()、then()等组合,但我所做的一切似乎都不起作用。我一定是做错了什么事。值得一提的是,我在测试套件的另一个测试中发现了以下类似的(工作)代码。奇怪的是,我能让另一个测试(如下)正常工作,但不是我一直关

这是一个非常简单的问题,但我似乎找不到答案,因为SeleniumWebDriver的javascript绑定文档非常稀少。(有很多关于java绑定的文档,但javascript是另一回事)

假设
driver
webdriver
通常是实例化的,如何获取任意元素的文本


我尝试了大量的getText()、then()等组合,但我所做的一切似乎都不起作用。我一定是做错了什么事。

值得一提的是,我在测试套件的另一个测试中发现了以下类似的(工作)代码。奇怪的是,我能让另一个测试(如下)正常工作,但不是我一直关注的那个

driver.findElement(webdriver.By.css('.failures em')).getText().then(function(v) {
    expect(v).to.equal('0');
    done();
});
也许我忽略了别的东西

无论如何,我对SeleniumWebDriver混淆了同步/异步代码与承诺之类的东西感到非常失望。我决定改用WebdriverJS(),到目前为止,我发现迁移非常直观和令人满意。测试又变得有趣了!:)


祝你好运

您是用javascript编写测试,还是只是想在测试中执行一些javascript(用Java/C#/其他语言编写)?我的测试是用javascript编写的。我使用的是Mocha、Chai和selenium webdriver(在Node.js上)。是否
element.getAttribute(“innerText”)
为您提供元素文本?无法使其工作。我尝试了这些变体:
console.log(driver.findElement(webdriver.By.css('html')).getAttribute(“innerText”)
driver.findElement(webdriver.By.css('html'))。然后(函数(v){console.log(v.getAttribute(“innerText”);})不确定JS绑定…但是您可以检查元素是否使用“isDisplayed”方法显示。2017更新:您可能还希望根据需要检查PhantomJS和噩梦EJ