承接 tysontruong/dusk-secure 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

tysontruong/dusk-secure

Composer 安装命令:

composer require --dev tysontruong/dusk-secure

包简介

A more secure Laravel Dusk that provides simple end-to-end testing and browser automation without exposing routes or authentication.

README 文档

README

Total Downloads Latest Stable Version License

What?

Laravel Dusk is an incredibly simple to use browser automation and testing tool. However, it was made with testing in mind, and as such, was never really meant for the production environment limelight.

Not anymore. I've gone ahead and ripped out all the parts that expose routes, or interact with your users.

Why?

So we can scrape the web with an amazingly expressive API in a framework we all know and love! All the methods you know and love -- minus the ones on interacting with or acting as users -- are there. See the official docs below for more details.

Caveats and gotchas

When using this tool as a scraper, you're typically limited to making dusk tests, and then triggering them via php artisan dusk.

You can automate this process and apply them to a command bus you can schedule!

Here's how:

Make your dusk test as you have before. Then, make a new command, making sure to give it a unique signature.

In the handle method, simply new up the class of the test you just created, initialize it and run it:

/**
 * Execute the console command.
 *
 * @return mixed
 */
public function handle()
{
    $event = new \Tests\Browser\Test;
    $event->prepare();
    $event->testExample();
}

Do whatever you had planned with the data you're scraping inside the test itself and you're golden.

When you make a test for dusk, make sure you include $browser->quit(); to ensure that the browser cleans up after itself. Do this after you've processed the data you've scraped.

What's next?

I'll make a 2.0 branch in the coming days to keep pace with the official package. It brings headless operation which will really help with some serious scraping.

Just kidding! Version 1.1.0 upgrades the binary and allows for headless operation.

To run your scraping headless, check out DuskTestCase.php, make sure to add ChromeOptions to your use statements, and set the $options variable and pass it through to the RemoteWebDriver like pictured below.

use Facebook\WebDriver\Chrome\ChromeOptions;

/**
 * Create the RemoteWebDriver instance.
 *
 * @return \Facebook\WebDriver\Remote\RemoteWebDriver
 */
protected function driver()
{
    $options = (new ChromeOptions)->addArguments(['--headless']);

    return RemoteWebDriver::create(
        'http://localhost:9515', DesiredCapabilities::chrome()->setCapability(
            ChromeOptions::CAPABILITY, $options
        )
    );
}

If anyone wants to help kick in a PR.

Official Documentation

Documentation for Dusk can be found on the Laravel website.

License

Dusk-Secure is open-sourced software licensed under the MIT license

统计信息

  • 总下载量: 1
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 329
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-10-14

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固