Deprecated: parse_url(): Passing null to parameter #1 ($url) of type string is deprecated in /www/wwwroot/blog_qqvbc_com/usr/plugins/Access/Access_Core.php on line 339

Deprecated: parse_url(): Passing null to parameter #1 ($url) of type string is deprecated in /www/wwwroot/blog_qqvbc_com/usr/plugins/Access/Access_Core.php on line 392

Deprecated: parse_url(): Passing null to parameter #1 ($url) of type string is deprecated in /www/wwwroot/blog_qqvbc_com/usr/plugins/Access/Access_Core.php on line 394
分类 默认分类 下的文章 - Joyber 的博客

分类 默认分类 下的文章

字符删除

x            删除光标所在处字符
X            删除光标所在前字符

单词删除

dw            删除到下一个单词开头
de            删除到本单词末尾
dE            删除到本单词末尾包括标点在内
db            删除到前一个单词
dB            删除到前一个单词包括标点在内

行删除

dd            删除一整行
3dd           代表删除三行
D 或者 d$     删除光标位置到本行结尾
d0            删除光标位置到本行开头
d+方向键      删除光标行+上/下行

删除一大块好几行内容

shift+v             选择行,用方向键移动选择
ctrl+v              选择一个方形块,用方向键移动选择
dgg           删除光标到文件头所有内容
dG           删除光标到文件尾所有内容

按d删除的内容实际上是剪切的,可以按p进行粘贴回来

在chrome浏览器中点击文件上传后,弹出文件选择窗口,再用autoIt脚本执行中(脚本打包成exe文件)

WinActivate('打开')
ControlSetText("打开", "", "Edit1", $CmdLineRaw)
Sleep(30)
ControlClick("打开", "",  "Button1")

以上脚本的意义:
激活标题为“打开”的窗口
设置Edit1输入框中的值为 命令行传入的参数
点击【打开】按钮

如果脚本编辑时中文乱码,变成问号了,是编码问题
解决方法:File→Encoding→UTF-8

具体脚本语法参考中文文档:
https://www.wenjiangs.com/doc/autoit-winactivate

查看nginx访问日志分析恶意请求的时候,比如有人采集网站,网站有多个域名,不知道采集者使用的是哪个域名的时候可以增加host域名的记录

可以在nginx配置的http段log_format记录规则中增加 $http_host 的变量输出

map $http_x_forwarded_for  $clientRealIp {
    ""      $remote_addr;
    ~^(?P<firstAddr>[0-9\.]+),?.*$  $firstAddr;
}
log_format  main  'src:$clientRealIp cdn:$remote_addr $remote_user [$time_local] "$http_host $request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent"';

创建webdriver chrome 实例

        $options = [
            '--no-sandbox',                        // 解决DevToolsActivePort文件不存在的报错
            'window-size=1400,1000',                // 指定浏览器分辨率
            //   '--disable-gpu',                       // 谷歌文档提到需要加上这个属性来规避bug
            //   '--hide-scrollbars',                   // 隐藏滚动条, 应对一些特殊页面
            //  'blink-settings=imagesEnabled=false',  // 不加载图片, 提升速度
            '--ignore-certificate-errors',
            '--ignore-ssl-errors',
            '--unlimited-storage', //存储权限
            //'--headless',                          // 浏览器不提供可视化页面
        ];
        $capabilitiesOptions = array_merge([
            WebDriverCapabilityType::BROWSER_NAME => WebDriverBrowserType::CHROME,
            WebDriverCapabilityType::PLATFORM     => WebDriverPlatform::ANY,
        ], $capabilitiesOptions);
        $capabilities = new DesiredCapabilities($capabilitiesOptions);
        $host = 'http://127.0.0.1:9151'; //chrome服务器地址
        $chromeOptions = new ChromeOptions();
        $chromeOptions->addArguments($options);
//        $options->setExperimentalOption('useAutomationExtension',false);
        $chromeOptions->setExperimentalOption('excludeSwitches', ['enable-automation', 'enable-logging']);
        //处理权限弹窗
        $prefs = [
            'profile.default_content_setting_values' => [
                'clipboard' => 1,
                'notifications' => 2,
            ]
        ];
        $chromeOptions->setExperimentalOption('prefs', $prefs);
        $capabilities->setCapability(ChromeOptions::CAPABILITY, $chromeOptions);

        $driver = RemoteWebDriver::create($host, $capabilities);

剪贴板通知桌面通知权限弹窗处理

        $prefs = [
            'profile.default_content_setting_values' => [
                'clipboard' => 1,
                'notifications' => 2,
            ]
        ];
        $chromeOptions->setExperimentalOption('prefs', $prefs);

alert, confirm, prompt 弹窗
1、Selenium中的WebDriver对象提供了switch_to_alert()方法定位(捕获)到各种弹窗(alert、confirm、prompt)

2、WebDriver对象在处理弹框时主要有以下几种方法:
⑴ switch_to_alert():定位弹出的对话框
⑵ text:获取对话框文本值
⑶ accept():相当于点击"确认"
⑷ dismiss():相当于点击"取消"
⑸ send_keys():输入值,该方法只能在prompt类弹框中使用

//点确定按钮
$driver->switchTo()->alert()->accept()

相关文章:https://www.cnblogs.com/dongdongtest/p/16301093.html