Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Chrome Laravel Package

chrome-php/chrome

Chrome PHP lets you control headless Chrome or Chromium from PHP, synchronously or asynchronously. Open pages, navigate, run JavaScript, take screenshots, generate PDFs, and emulate mouse and keyboard input with a simple, IDE-friendly API. Requires PHP 7.4–8.5 and Chrome/Chromium 65+.

View on GitHub
Deep Wiki
Context7
1.9.1
  • Fix rare crash in Page::getHtml
  • Fix whitespace character handling in Keyboard::typeText()
1.9.0
  • Added some additional life-cycle event constants
  • Added support for disabling browser notifications
1.8.1
  • Fixed issue where Chrome 111 and later have different default allowed origins
1.8.0
  • Add helper function to find target
  • Add --crash-dumps-dir option
  • Allow passing the event name to wait for in setHtml
  • Dropped PHP 7.3 support
1.7.2
  • Fix case where the timeout in setHtml() isn't respected
  • Fix hard coded timeout in Dom class
  • Fix hard coded timeout in ResponseReader class
  • Stop process when an error occurs during startup
  • Stop process on waitForStartup if dev tools failed to start
  • Disconnect socket on sendCloseMessage
1.7.1
  • Fix command execution in AutoDiscover
1.7.0
  • Use command to guess the chrome executable in Linux
  • Officially support PHP 8.2
  • Fix extra HTTP headers
1.6.2
  • Fix intermittency in Mouse::findElement()
  • Fix scroll with values higher than possible
1.6.1
  • Support Monolog 3
1.6.0
  • Officially support PHP 8.1
1.5.0
  • Added Browser::getPages method
  • Added Page::waitUntilContainsElement() method
  • Added Page::setHtml() method
  • Added support for XPath by introducing Selector
  • Added Mouse::findElement() method
  • Switch to flatten mode
1.4.1
  • Added fallback to css layout metrics
  • Added missing destroyed setting
  • Prevent Node::querySelector from returning nodeId 0
  • Fixed "What's new" page opening on startup
  • More fixes to enable eventual PHP 8.1 support
1.4.0
  • Added support for --no-proxy-server and --proxy-bypass-list
  • Added timeout option to Page::getHtml
  • Added Node::sendFiles method
1.3.1
  • Fixed issues with Keyboard::typeText with multibyte strings
  • Fixed issues with retina and scaled displays
  • Fixed issues with timeouts if system time changes
  • Fixed Mouse::find() after cursor has moved
1.3.0
  • Added support for setting HTTP headers
  • Added support for psr/log 2 and 3
1.2.1
  • Partial PHP 8.1 support
1.2.0
  • Dropped --disable-default-apps and --disable-extensions by default
  • Added API for interacting with the DOM
  • Added a way to set the timezone
  • Reworked PagePdf class to improve validation
1.16.1
  • Pass explicit trim characters ahead of the PHP 8.6 trim default change
1.16.0
  • Promote the returned PageUtils helper classes to the public API
  • Add an option and browser API to disable JavaScript execution on existing and future pages
  • Allow choosing the box model in Node::getPosition()
  • Allow setting referrer, referrerPolicy and transitionType in Page::navigate()
  • Add Page::authenticate and Page::clearAuthentication methods for HTTP authentication challenges
  • Add AbstractBinaryInput::saveToStream method
  • Allow specifying options in Page::screenshotElement()
  • Allow fractional mouse coordinates in Mouse::move()
  • Return floats from Mouse::getPosition()
  • Wait for socket data instead of polling for responses
  • Require chrome-php/wrench ^1.9
  • Support newer versions of Chrome
1.15.1
  • Fix mouse scrolling timing out when the page changes during the scroll
  • Fix Linux Chrome binary detection on POSIX shells
1.15.0
  • Add PHP 8.5 support
  • Add support for using Symfony 8 components
  • Remove support for Symfony 4 components
  • Add CHROME_NO_SANDBOX env var
1.14.0
  • Use more specific return type in PageScreenshot::getException
  • Security fix for missing encoding in CssSelector
1.13.0
  • Set maximal expires value if session=false in Page::setCookies
1.12.1
  • Fix nullable parameter definition in AbstractBinaryInput::getRawBinary
1.12.0
  • Add PHP 8.4 support
  • Add the ability to screenshot individual elements on the page
  • Add AbstractBinaryInput::getRawBinary method
  • Have Cookie implement IteratorAggregate
1.11.0
  • Add PHP 8.3 support
  • Auto-detect Chromium too
1.1.1
  • Fix mouse element position
1.10.1
  • Fixed encoding bugs in XPathSelector
1.10.0
  • Add Add Node::setHTML method
  • Add Page::setScriptExecution method
  • Allow usage of XPath in Page::waitForElement
  • Enable removal of Chrome flags via excludedSwitches option
  • Add support for webp format and optimizeForSpeed option in Page::screenshot
  • Add support for using Symfony 7 components
1.1.0
  • Add DOM element locator
1.0.1
  • Fix mouse scroll maximum distance
1.0.0
  • Switched over to chrome-php/wrench
  • Add support for keyboard key combinations
0.9.0
  • Support PHP 8.0
  • Increase default sync timeout to 5 seconds
  • Set --font-render-hinting=none in headless mode
  • Fixed keep alive option
  • Fixed various phpdoc issues
  • Fixed sending params to newer Chrome
  • Fixed Wrench::connect() return value
  • Avoid non-thread-safe getenv function
0.8.1
  • Fixed issues with Browser::close
  • Support PHP 7.3 and 7.4
0.8.0
  • Added Page::pdf
  • Added timeout for PageEvaluation methods
  • Added support for Symfony 5
  • Added Browser::close
0.7.0
  • Escaping custom flags for BrowserFactory is now automatic
  • Added timeout for Page::getFullPageClip
  • Added timeout for method getBase64
  • Added options headerTemplate and footerTempalte for Page::pdf
  • Added options scale for Page::pdf
  • Handle gracefully all pages failing to close
  • Fixed deprecation from Symfony
0.11.1
  • Fix scroll method returning prematurely
0.11.0
  • Added support for proxy servers as a direct option
  • Added support for passing environment variables
  • Added support for Symfony 6
  • Removed broken getChromeVersion function
  • Implemented more robust auto-discovery
0.10.0
  • Added Page::getHtml
  • Added keyboard API
  • Added mouse scrolling
  • Attempt to auto-detect chrome binary path
  • Added support for setDownloadPath
  • Added support for captureBeyondViewport
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
laravel2580/idehelpers
delatbabel/viewpages
anavel/gettext
muhamadrezaar/highcharts
delatbabel/keylists
frankkessler/salesforce-laravel-oauth2-rest
anavel/foundation
wdmtech/enviricons
eii/laravel-captcha
muka/shape-reader
tdt/json
refinery29/php-cs-fixer-config
hotmeteor/eco-env
mvaliolahi/hydrate
wearede/tbcpay-php
parsnick/steak
thibaud-dauce/mattermost-php
multilinguals/apollo-client
antaresbr/collection
kr0lik/phpstan-rules