我正在尝试做以下事情:
getAttribute('value')
或getText()
grep URL 使用此URL分叉新的浏览器实例并获取 URL
newBrowser = browser.forkNewDriverInstance(); ele.getAttribute( '值')。然后(函数(VAL){ newBrowser.get(VAL); });
我收到以下错误: RangeError:超出最大调用堆栈大小
我尝试的第二种方法没有承诺,并且得到错误,说url应该是字符串而不是对象。
如:
var url = ele.getText();
newBrowser.get(url);
有没有办法将getText()
返回的对象转换为字符串并存储到变量中,以便可以在其他地方使用。
答案 0 :(得分:0)
在你的第二个appraoch中,ele.getText()
会给你一个需要解决的承诺。您可以通过使用类似的东西来解决第二种方法的承诺 -
ele.getText().then(function(url){
newBrowser.get(url);
})
如果这不起作用,请尝试使用console.log(url)
打印网址。我认为它是一个对象数组,您需要通过引用像url[0]
或url[1]
这样的索引来获取所需的项目。尝试使用控制台日志打印所有这些值。