Joyber 发布的文章


  public static function debugRunTime()
        $info = debug_backtrace(0, 1)[0];
        //最后一次记录的耗时
        $last = empty(self::$ts) ? 0 : self::$ts[count(self::$ts) - 1]['time'];
        //累计耗时
        $sum = microtime(1) - RUN_START_TIME;
        $path = str_replace(Yii::app()->basePath, '/', $info['file']);
        self::$ts[] = [
            'time'   => $sum,
            'add'    => $sum - $last,
            'file'   => "({$info['line']}){$path}",
            'memory' => memory_get_usage(),
        ];
}

滚动到指定元素位置


                //滚动到页码位置,把条数选为100条每页
                $jsTo = 'arguments[0].scrollIntoView();';
                $query = Facebook\WebDriver\WebDriverBy::cssSelector('#data2Wrap div.oc-table-pagination div.oc-pagination-wrapper div.ovui-select > div');
                if ( $el = Account::getElementWait($this->driver, $query, 3) ) {
                    $this->msg('设置每页100条');
                    //页码选项100条
                    $this->driver->executeScript($jsTo, [$el]);
                }

获取页面中的一个元素


    /**
     * 获取页面中的一个元素
     * @param RemoteWebDriver $driver
     * @param WebDriverBy $query
     * @param int $timeout
     * @return RemoteWebElement|null
     */
    public static function getElement(RemoteWebDriver $driver, WebDriverBy $query, int $timeout=30)
    {
        while ($timeout>0) {
            try {
                return $driver->findElement($query);
            } catch (\Exception $e) {
                $timeout--;
                sleep(1);
            }
        }
        return null;
    }

    /**
     * 获取页面中的一个元素(等待), elementToBeClickable 参数表示一个可见可点击的元素
     * @param RemoteWebDriver $driver
     * @param WebDriverBy $query
     * @param int $timeout
     * @param string $condition \Facebook\WebDriver\WebDriverExpectedCondition::elementToBeClickable($query)
     * @link https://php-webdriver.github.io/php-webdriver/latest/Facebook/WebDriver/WebDriverExpectedCondition.html
     * @return RemoteWebElement|null
     */
    public static function getElementWait(RemoteWebDriver $driver, WebDriverBy $query, int $timeout=30, $condition='elementToBeClickable')
    {
        try {
            return $driver->wait($timeout, 1000)->until(
               $condition instanceof \Facebook\WebDriver\WebDriverExpectedCondition ? $condition : \Facebook\WebDriver\WebDriverExpectedCondition::$condition($query)
            );
        } catch (\Exception $e) {
            return null;
        }
    }

一次同事紧急求助,说是ZIP解压不出来,电脑上RAR工具提示文件损坏,他手机上也解压失败,也许是他在企业微信中直接打开,解压失败了。
拿到文件后,我用7z在打开ZIP文件时失败了,提示CRC检校失败。
然而我在手机在下载到手机内存里,用手机上的系统成功解压出来了。
最后在电脑上尝试了一些方式仍然无法解压出来:
1、WIN11系统自带文件解压失败
2、7z的CRC选项中的几个选项都尝试了还是失败

最后用git安装后的base命令行成功解压了,命令:

unzip xx.zip