Protractor 量角器:从元素中提取URL值并使用URL打开新的浏览器实例
我正努力做到以下几点:Protractor 量角器:从元素中提取URL值并使用URL打开新的浏览器实例,protractor,Protractor,我正努力做到以下几点: get元素(本例中为div)包含eg的URL。 `ele=“www.xyz.com” 使用getAttribute('value')或getText()来 grep网址 使用此URL创建浏览器的新实例并获取 网址 newBrowser=browser.forkNewDriverInstance(); ele.getAttribute('value')。然后(函数(val){ newBrowser.get(val); }); 我得到了以下错误: RangeError:超过最
getAttribute('value')
或getText()
来
grep网址var url = ele.getText();
newBrowser.get(url);
有没有办法将
getText()
返回的对象转换为字符串并存储为变量,以便在其他地方使用。在第二次评估中,ele.getText()
将为您提供一个需要解决的承诺。您可以使用类似这样的方法来解决第二种方法的承诺-
ele.getText().then(function(url){
newBrowser.get(url);
})
如果不起作用,请尝试使用
console.log(url)
打印url。我认为这是一个对象数组,您需要通过引用像url[0]
或url[1]
这样的索引来获取所需的项。尝试使用控制台日志打印所有这些值。我没有尝试您的第一种方法,但您应该获得分叉浏览器实例的句柄,如-`browser.getAllWindowHandles()。然后(函数(句柄){newWindowHandle=handles[1];browser.switchTo().window(newWindowHandle)。然后(函数(){})
您正在使用的量角器版本是什么?量角器版本1.6.1如果是这种情况,请注释掉这一部分并运行。同样的错误仍然会出现。确认量角器设置没有问题。当我使用“browser.forkNewDriverInstance();”创建新的浏览器实例时。它是一个独立的实例,我可以使用“newBrowser”句柄使用它,而无需显式切换到它。我想即使使用“browser.getAllWindowHandles()”也只能获得一个实例,当您派生了一个新实例(如newBrowser)时。