我有这样的情况,我需要点击链接并访问新的选项卡,看看是否有特定的文本,然后回到原始选项卡并执行一些工作。
这是我在点击查看按钮后用来确认我在最新浏览器选项卡中的代码
$window = collect($this->driver->getWindowHandles())->last();
$this->driver->switchTo()->window($window);
现在我必须回到原来的标签,我该怎么做?有什么帮助吗?有没有办法在一段时间后关闭最近的选项卡。这样我就可以找到原始标签了。感谢
你走在了正确的轨道上。
你可以继续这样做:
$this->browse(function (Browser $browser) {
$browser->visit('/')->click('@some-link');
// switch to the last tab
$window = collect($browser->driver->getWindowHandles())->last();
$browser->driver->switchTo()->window($window);
// make some assertion on that tab
$browser->assertRouteIs('some-route.alias');
// switch back to first tab
$window = collect($browser->driver->getWindowHandles())->first();
$browser->driver->switchTo()->window($window);
// TODO: make further assertions
});