1
0

Directly converts screenshot to jpeg

This commit is contained in:
Richard Dern 2024-04-17 14:49:46 +02:00
parent 60fe1a61dc
commit a696409927

View File

@ -11,6 +11,7 @@
use Facebook\WebDriver\Remote\RemoteWebDriver;
use Facebook\WebDriver\WebDriverBy;
use Illuminate\Support\Str;
use Intervention\Image\Laravel\Facades\Image;
use Laravel\Dusk\Browser as DuskBrowser;
use Laravel\Dusk\Chrome\SupportsChrome;
use Laravel\Dusk\Concerns\ProvidesBrowser;
@ -74,18 +75,24 @@ public function dataname()
}
/**
* Return screenshot content as a PNG resource
* Return screenshot content as a jpg resource
*/
public function getScreenshot()
{
return $this->screenshot;
}
/**
* Return page title
*/
public function getTitle()
{
return $this->title;
}
/**
* Return page description, if any is found
*/
public function getDescription()
{
return $this->description;
@ -144,7 +151,7 @@ private function handleNavigation(DuskBrowser $browser)
->visit($this->url)
->pause(1000);
$this->screenshot = $browser->driver->takeScreenshot();
$this->screenshot = $this->takeScreenshot($browser);
$this->title = $browser->driver->getTitle();
$this->description = $this->findDescription($browser);
@ -163,4 +170,14 @@ private function findDescription(DuskBrowser $browser)
return $description;
}
private function takeScreenshot(DuskBrowser $browser)
{
$contents = $browser->driver->takeScreenshot();
$image = Image::read($contents);
$this->screenshot = $image->toJpeg();
return $this->screenshot;
}
}