我使用下面的代码,然后将结果保存在jpg文件中。但有时我只会得到一张黑色图像。它不会一直发生,我能做些什么来阻止它呢?没有错误,只有一些截图是黑色的。我在Windows上运行它。
$browser = new com('internetexplorer.application');
$browserhandle = $browser->hwnd;
$browser->visible = true;
$browser->fullscreen = true;
$browser->navigate('http://www.example.com');
while ($browser->busy) {
com_message_pump(1000);
if ($timer + $timelimit < time()) {
$browser->stop();
break;
}
}
sleep(5);
$img = imagegrabwindow($browserhandle, 0);
$browser->Quit();
答案 0 :(得分:1)
在sleep(5)
imagegrabwindow(...)
它帮助我解决了同样的问题
我的代码是:
$im = imagegrabwindow($handle, 0);
imagejpeg($im, "test.jpg");
sleep(5);
$browser->Quit();
imagedestroy($im);