Selenium getEval
引发错误:Error: getEval(${descr}): Threw an exception: missing ; before statement
代码:
var soda = require('soda')
, assert = require('assert');
var browser = soda.createClient({
host: 'localhost'
, port: 4444
, url: 'http://jquery.com'
, browser: 'firefox'
});
browser.session(function(err){
browser.open('/', function(err, body, res){
browser.storeEval("window.jQuery('meta[name=description]').attr('content');", "descr", function(err, body, res){
browser.getEval('${descr}',function(err,val){
if(err !== null) throw err
console.log(val)
browser.testComplete(function(){ });
});
});
});
})
看似问题出在我的javascript表达式中:window.jQuery('meta[name=description]').attr('content');
...虽然它适用于浏览器控制台。
另一种表达......
window.jQuery('.logo').height();
......相同的代码工作:
var soda = require('soda')
, assert = require('assert');
var browser = soda.createClient({
host: 'localhost'
, port: 4444
, url: 'http://jquery.com'
, browser: 'firefox'
});
browser.session(function(err){
browser.open('/', function(err, body, res){
browser.storeEval("window.jQuery('.logo').height();", "height", function(err, body, res){
browser.getEval('${height}',function(err,val){
if(err !== null) throw err
console.log(val)
browser.testComplete(function(){ });
});
});
});
})