browserbotphp/

browser

在Laravel上运行无头Chrome浏览器

0.2 2020-05-14 21:19 UTC

This package is auto-updated.

Last update: 2024-09-29 05:29:46 UTC


README

为Laravel的无头Chrome PHP浏览器

保存图片方法 SavePhotoPath($path)

设置输出类型 TypeOutput(int $SetType) OutputEverySecandUpdateOutputNramal

设置URL SetUrl()

设置JavaScript代码注入 SetJsCodePath()

设置cookie或数组 Cookies a SetCookie(Cookie) , SetCookies(Cookie[])

设置用户代理 SetUserAgent()

获取开始时间 GetTimeStart()

在运行浏览器之前运行此方法 Before()

在运行浏览器之后运行此方法 After()

检查是否超时 IsTimeOut()

检查是否运行 IsRun()

运行浏览器并等待 RunAndWait()

清除输出ClearOutput()

从js获取输出作为对象 Output($OnRun = false)

显示输出调试 DebugOutput()

以异步方式运行浏览器 Run()

如何安装

composer require symfony/process 4.0.x-dev
composer require browserbotphp/browser
composer require browserbotphp/stemplates
npm install puppeteer

示例

test3.js 文件作为javascript

var output = {}; // output object
var canexit = false; // when is true then stop browser

PHP示例

    $proxy = new Proxy("168.81.230.104", 120, "Username", "Passowrd", true); //true  for Set as default 

        $browserRun =  new  BrowserRun(300); // 300 sec , time out

        $Cookie = new Cookie(
            "www.google.com",
            "SS",
   "%3Afe9f6279b37a4296539c30b49dff87cad9cf789dbd843afa4f51d785f8a06388ca3ca683dc8ff2c55fc80a9b3a22a153886cc238854473bb1135fb28417e9508"
        );
        $browserRun->SetCookie($Cookie); // Set Cookies 

        $browserRun->SetJsCodePath("./test3.js"); // run js


        $browserRun->SetUrl("https://www.google.com"); // set url

        $browserRun->SavePhotoPath('./public/test.png');  // set path photo

        $browserRun->Run(); // run browser as async

        while (ListBrowser::UpdateBrwoser()) { // update all browser
            var_dump($browserRun->DebugOutput());
            sleep(1);
        }

        var_dump($browserRun->DebugOutput()); // update Get output debug 
          while ($browserRun->IsRun()) { // check if run 
            var_dump($browserRun->DebugOutput());
             var_dump($browserRun->Output()); // get output as object
          }