2 * Copyright 2017 Google Inc., PhantomJS Authors All rights reserved.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
19 const puppeteer
= require('puppeteer');
21 function sniffDetector() {
22 const userAgent
= window
.navigator
.userAgent
;
23 const platform
= window
.navigator
.platform
;
25 window
.navigator
.__defineGetter__('userAgent', function () {
26 window
.navigator
.sniffed
= true;
30 window
.navigator
.__defineGetter__('platform', function () {
31 window
.navigator
.sniffed
= true;
37 const browser
= await puppeteer
.launch();
38 const page
= await browser
.newPage();
39 await page
.evaluateOnNewDocument(sniffDetector
);
40 await page
.goto('https://www.google.com', {waitUntil
: 'networkidle2'});
43 (await page
.evaluate(() => {
44 return !!navigator
.sniffed
;
48 await browser
.close();