https://github.com/minkphp/mink
PHP web browser emulator abstraction
https://github.com/minkphp/mink
browser-automation mink php
Last synced: 10 days ago
JSON representation
PHP web browser emulator abstraction
- Host: GitHub
- URL: https://github.com/minkphp/mink
- Owner: minkphp
- License: mit
- Created: 2011-04-04T16:11:16.000Z (about 14 years ago)
- Default Branch: master
- Last Pushed: 2025-02-07T09:31:36.000Z (4 months ago)
- Last Synced: 2025-05-03T07:08:42.991Z (22 days ago)
- Topics: browser-automation, mink, php
- Language: PHP
- Homepage: https://mink.behat.org/
- Size: 1.42 MB
- Stars: 1,600
- Watchers: 38
- Forks: 280
- Open Issues: 75
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
Mink
====
[](https://packagist.org/packages/behat/mink)
[](https://packagist.org/packages/behat/mink)
[](https://packagist.org/packages/behat/mink)
[](https://github.com/minkphp/Mink/actions/workflows/tests.yml)
[](https://packagist.org/packages/behat/mink)Useful Links
------------- The main website with documentation is at [https://mink.behat.org](https://mink.behat.org)
- Official Google Group is at [https://groups.google.com/group/behat](https://groups.google.com/group/behat)
- [Note on Patches/Pull Requests](CONTRIBUTING.md)Usage Example
-------------``` php
new Session(new GoutteDriver(new GoutteClient())),
'goutte2' => new Session(new GoutteDriver(new GoutteClient())),
'custom' => new Session(new MyCustomDriver($startUrl))
));// set the default session name
$mink->setDefaultSessionName('goutte2');// visit a page
$mink->getSession()->visit($startUrl);// call to getSession() without argument will always return a default session if has one (goutte2 here)
$mink->getSession()->getPage()->findLink('Downloads')->click();
echo $mink->getSession()->getPage()->getContent();// call to getSession() with argument will return session by its name
$mink->getSession('custom')->getPage()->findLink('Downloads')->click();
echo $mink->getSession('custom')->getPage()->getContent();// this all is done to make possible mixing sessions
$mink->getSession('goutte1')->getPage()->findLink('Chat')->click();
$mink->getSession('goutte2')->getPage()->findLink('Chat')->click();
```Install Dependencies
--------------------``` bash
$> curl -sS https://getcomposer.org/installer | php
$> php composer.phar install
```Contributors
------------* Konstantin Kudryashov [everzet](https://github.com/everzet) [lead developer]
* Christophe Coevoet [stof](https://github.com/stof) [lead developer]
* Alexander Obuhovich [aik099](https://github.com/aik099) [lead developer]
* Other [awesome developers](https://github.com/minkphp/Mink/graphs/contributors)