Закрыть вкладку на основе заголовка


Как закрыть вкладку, основываясь на ее названии, используя WWW::Mechanize::Firefox?

Вот что у меня сейчас есть:

my $ff = Firefox::Application->new();
my @tab_info = $ff->openTabs();
foreach my $tab (@tab_info) {
    if($tab->{title} eq "TITLE HERE") {
        $ff->closeTab($tab->{location});
    }
}

Документация для closeTab () просто говорит "закрыть данную вкладку" без информации о том, что данная вкладка является

2 2

2 ответа:

Это $ff->closeTab($tab->{tab}). См., например, кулинарную книгу . Полная программа:

use WWW::Mechanize::Firefox;    
my $ff = Firefox::Application->new();

my $title_to_close = "Title of the page to close ...";

# This will pull in all currently opened tabs   
my @tabs = $ff->openTabs();

foreach my $tab (@tabs) {
    if ($tab->{title} =~ /$title_to_close/) {
        print "Close tab: $tab->{title}";
        $ff->closeTab($tab->{tab});
    }
}

Более кратко:

$ff->closeTab($_->{tab}) for grep { $_->{title} eq 'TITLE HERE' } $ff->openTabs;