我试图通过单击id为'wrpr_1431108056877h'的元素来获取打开的窗口的url。将打开新窗口,但getTitle()仍会返回原始选项卡的标题。在Browserstack提供的视频中,我能够验证当前选项卡确实是我尝试访问的选项卡。
browser
.click('#wrpr_1431108056877h')
.pause(5000)
.getTitle()
.then((url: any) => {
console.log(url);
})
.end()
.catch((err: any) => {
console.log(err.message);
done(Error('Could not move'));
});
答案 0 :(得分:0)
browser.getTabIds();
应该为您提供webdriver知道的所有窗口句柄的列表。
然后你可以使用
browser.getCurrentTabId();
找出当前关注的窗口(也许这就是你所说的从BrowserStack视频中做的事情?)
我的猜测是新打开的窗口不是当前关注的窗口。因此,执行的任何命令(如getTitle()
)都将在前一个窗口中发生。
您可以通过调用
将焦点窗口切换到新打开的窗口 browser.switchTab(windowHandle)
然后你可以调用getTitle()
,它应该返回正确的标题。
在此处查看Window上的网络驱动程序文档:http://webdriver.io/api/window/getTabIds.html
(向左滚动所有向下以查看完整的窗口部分)
了解更多信息。
答案 1 :(得分:0)
请致电
browser.navigate().refresh()
致电
之前 browser.gettitle().