2

我将如何使用基于它的标题关闭标签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()的文档只是说“关闭给定选项卡”,没有关于给定选项卡是什么的信息

4

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});
    }
}
于 2016-04-06T07:28:41.917 回答
1

更简洁:

$ff->closeTab($_->{tab}) for grep { $_->{title} eq 'TITLE HERE' } $ff->openTabs;
于 2016-04-06T08:43:50.270 回答