无头浏览器相关

https://blog.csdn.net/qq_24137739/article/details/93631569
https://blog.csdn.net/weixin_33768153/article/details/81183577
https://www.cnblogs.com/lingcai/p/10616311.html

        function i(e) {
            var r = ["webdriver", "__driver_evaluate", "__webdriver_evaluate", "__selenium_evaluate", "__fxdriver_evaluate", "__driver_unwrapped", "__webdriver_unwrapped", "__selenium_unwrapped", "__fxdriver_unwrapped"];
            return a.filter(r, o(e)).length > 0
        }
        function o(r) {
            return function(e) {
                return e in r
            }
        }
        function u(e) {
            return "__webdriverFunc"in e
        }
        function c(e) {
            var r = ["webdriver", "_Selenium_IDE_Recorder", "_selenium", "calledSelenium"];
            return a.filter(r, o(e)).length > 0
        }
        function f(e) {
            return "domAutomation"in e || "domAutomationController"in e
        }
        function s(e) {
            return e.documentElement && n(e.documentElement, "webdriver")
        }
        function d(e) {
            return "__lastWatirAlert"in e || "__lastWatirConfirm"in e || "__lastWatirPrompt"in e
        }
        function l(e) {
            return e.webdriver || !1
        }
        function v(e) {
            return "webdriver"in e
        }
        function _(e) {
            return "__webdriver_script_fn"in e
        }
        function y(e) {
            var r = !1;
            try {
                r = e.cookie.indexOf("ChromeDriverwjers908fljsdf37459fsdfgdfwru=") > -1
            } catch (e) {}
            return r
        }
        function x(e) {
            return "$cdc_asdjflasutopfhvcZLmcfl_"in e || "$chrome_asyncScriptInfo"in e
        }
        function m(e) {
            return "_WEBDRIVER_ELEM_CACHE"in e
        }
        function b(e) {
            return "__$webdriverAsyncExecutor"in e
        }
        function j(r) {
            var e = ["driver-evaluate", "webdriver-evaluate", "selenium-evaluate", "webdriverCommand", "webdriver-evaluate-response"];
            document.addEventListener && a.forEach(e, function(e) {
                document.addEventListener(e, A(e, r), !1)
            })
        }
posted @ 2019-10-24 17:11  公众号python学习开发  阅读(309)  评论(0编辑  收藏  举报