Directly converts screenshot to jpeg
This commit is contained in:
parent
60fe1a61dc
commit
a696409927
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user