(function() { var code = '(' + function() { // Remove Selenium artifacts (except webdriver - handled by binary patch) var toDelete = ['cdc_', '$cdc_', 'wd_', 'selenium', '__webdriver_script_fn', '__driver_evaluate', '__webdriver_evaluate', '__selenium_evaluate', '__fxdriver_evaluate', '__driver_unwrapped', '__webdriver_unwrapped', '__selenium_unwrapped', '__fxdriver_unwrapped', '__webdriver_script_function', '__webdriver_script_func', '__webdriver_script_fn', '__fxdriver_athena_', '_Selenium_IDE_Recorder', '_selenium', 'calledSelenium', '$cdc_asdjflasutopfhvcZLmcfl_', '$chrome_asyncScriptInfo', '__$webdriverAsyncExecutor', '__nightmare', '_phantom', 'callPhantom', '__lastWatirAlert', '__lastWatirConfirm', '__lastWatirPrompt']; toDelete.forEach(function(key) { if (window[key]) delete window[key]; if (document[key]) delete document[key]; }); // Clean up document properties for (var key in document) { if (key.match(/\$[a-z]dc_/) && document[key]) { delete document[key]; } } } + ')();'; var script = document.createElement('script'); script.textContent = code; var target = document.documentElement; if (target) { target.insertBefore(script, target.firstChild); script.remove(); } })();