-1

ここで @links 配列はさまざまな URL で構成されています。以下のコードによると、最初に www.google.com が firefox で開かれます。次に forloop に入ると、firefox が強制終了されます。@links 配列の最初の URL が開かれます。2 回目の forloop に入るときに 2 番目の URL が新しいタブで開かれ、その後ブラウザが強制終了されます。しかし、最初に forloop に入るたびに firefox を強制終了する必要があります。次に、URL を新しいブラウザ ウィンドウで開く必要があります。親切に助けてください。

system("start https://www.google.com");

for($i=0;$i<@links;$i++)
{
    system("taskkill /im firefox.exe");
    system("start $links[$i]");
}
4

4 に答える 4

1

代わりにWWW::Mechanize::Firefoxを使用してください。

MozRepl :: RemoteObjectは、さらに低レベルのアクセスを提供します。

于 2012-11-07T20:12:53.250 に答える
0

taskkill1つ以上のプロセスにシグナルを送信し、すぐに戻ります。シグナルされたプロセスが実際にシャットダウンするまでに数ミリ秒かかる場合があるため、プロセスが強制終了シグナルに応答するまでしばらくお待ちください。

system("taskkill /im firefox.exe");
sleep 1;
system("start $links[$i]");
于 2012-11-07T20:02:29.700 に答える
0

これをやってみてください:

system("start https://www.google.com");

foreach my $link (@links) {
    system("taskkill /im firefox.exe");
    system("start $link");
}

これは間違っています :

for($i=0;$i<@links;$i++)

このように繰り返したい場合は、次を使用します。

for ($i=0; $i<$#links; $i++)
于 2012-11-07T19:51:39.163 に答える
-1

コマンドで open を使用して、pid を取得 (および kill) してみてください。

forループが好きなら、これを投げるだけです...

for(0..$#links) {
    my $item = $links[$_];
}

言われているように、WWW::Mechanize::Firefox を使用する必要があります。

于 2012-11-07T20:48:59.887 に答える