Joyber 发布的文章

在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

转自:https://gist.github.com/lzqwebsoft/6458377

  1. Prism

  Prism是一个只有1.5KB大小的压缩版轻量级工具,能够简单方便的整合到CSS和JavaScript文件里,运行速度很快。已经使用在Dabblet里(一个交互式的CSS场地)美化了很多代码,所以说Prism很稳定。新的编程语言也可以加入进来,在使用这个插件架构的前提下,新加入的语言功能性将不断提升;外观风格和使用感觉都可以通过CSS来设计。

  2. Rainbows

  Rainbow是一款用JavaScript脚本编写的只有1.4KB的轻量级工具。它只需要在有必要高亮显示的语言上使用JavaScript模型来保持事情简单化就可以了。同样,颜色和字体可以通过CSS主题支持来完全自定义。

  3. Snippet

  Snippet是一个jQuery插件,建立在SHJS脚本的顶部以此来高亮显示HTML文件里的源代码。它支持很多种类的脚本语言:JavaScript、SQL、PHP和Ruby等等。其包含39个内置的独一无二的配色图案,可以不断的变换调试。

  4. Geshi

  这是一个高度自定义的语法高亮显示工具,可以在网页里用来更好的展示代码片段。Geshi经过开发后来应用在phpBB论坛软件上,但在功能特性上仍然是分开使用的。此外,这个语法高亮工具支持几乎所有的流行编程语言,像ActionScript、ASP、C、JAVA、PHP、Ruby和SQL等等。

  5. Syntax Highlighter

  Syntax Highlighter帮助一个开发者/码农轻松在线公布代码片段,而且代码的外观看上去也很不错。说白了,它就是一个100%建立在JavaScript基础上的高亮显示工具,不用考虑服务器上有什么其他东西。支持多款编程语言,压缩后的核心库只有11KB大小。然而,Syntax Highlighter并不具备编写高亮代码的能力,也不为用户提供编写源代码的能力。

  6. Google Code Prettify

  这是在Google Code网站使用的脚本。这个脚本能够自动查出正在使用的编程语言,进行相应的美化。同时也可以通过CSS来自定义。

  7. Hightlight.js

  Hightlight.js基本上不需要采用复杂的步骤就可以使用了,因为它的自动化程度很高:找出代码块,检测语言,高亮显示一下就行了。它已经开始支持第三方应用程序,并提供Firefox扩展程序用于查看代码,但是没有语法高亮显示。

  8. SHJS:Syntax Highlighting in JavaScript

  SHJS是一个JavaScript程序,它可以高亮显示在HTML文档里的源代码段落。文件使用SHJS将会通过web浏览器高亮显示在客户端。这就赋予了SHJS一项功能,那就是能够高亮显示源代码是使用不同的语言编写的。

  9. Quick Highlighter

  这个在线高亮工具提供许多编码语言,你可以选择多个选项将这些编码语言集体高亮显示。在高亮显示代码、Combine Style、HTML Code、Highlight内置关键词、数据类型、Strict Mode和Wrap过剩文本之前你可以选择检查或者不检查代码。

  10. Ultraviolet

  Ultraviolet是一个运行在Ruby上的语法高亮引擎,支持50种以上的编程语言和20种以上的主题。

  11. Pygments:Python Syntax Highlighter

  这款语法高亮工具是用Python构建的,支持大部分的编程语言、多种输出格式,它还可以被当作是一个命令行工具或者是一个类库来使用。

  12. Lighter for MooTools

  Lighter是一个免费的语法高亮工具,专门为MooTools而开发的。MooTools开发者在创建Lighter之初运用了许多框架结构上的功能特点。它运用起来就像是在网页上添加一个单独的脚本那样简单,选择你想要高亮显示的元素,Lighter会自动处理其余部分。

  13. CodePress

  CodePress是一个基于网络的源代码编辑器,带有用JavaScript编写的语法高亮工具,随着在浏览器里连续打字,文本的颜色会实时发生变化。除此以外,它还有代码片段、自动完成、快捷方式和多窗口功能。

  14. Beauty of Code

  这个jQuery语法高亮插件使用的是Alex Gorbatchev里的语法高亮显示,但有一点不一样:它能够产生更多的xhtml兼容的代码。

  15. Jush JavaScript Syntax Highlighter

  JavaScript Syntax Highlighter可以用在客户端的语法高亮程序里,支持的语言有HTML、CSS、JavaScript、PHP、SQL、HTTP、SMTP协议、php.ini和Apache配置。