https://github.com/ultrafunkamsterdam/undetected-chromedriver
优化过的 Selenium Chromedriver 补丁,不会触发 Distill Network / Imperva / DataDome / Botprotect.io 等反机器人服务。 自动下载驱动二进制文件并对其进行修补。
pip install undetected-chromedriver
或者 , 如果你喜欢冒险,直接通过 github 安装```
pip install git+https://www.github.com/ultrafunkamsterdam/undetected-chromedriver@master # replace @master with @branchname for other branches
我将在问题跟踪器上设置限制。它已经被滥用太久了。
有什么好消息吗?
是的,我开通了 Undetected-Discussions,我认为从长远来看这会帮助我们更好地协作。
此包不会,我再说一遍,不会隐藏你的 IP 地址,所以当你从数据中心(即使是较小的数据中心)运行时,很有可能无法通过!另外,如果你家里的 IP 声誉很低,你也不会通过!
从家里和从数据中心运行以下代码。```python import undetected_chromedriver as uc driver = uc.Chrome(headless=True,use_subprocess=False) driver.get('https://nowsecure.nl') driver.save_screenshot('nowsecure.png')
<div style="display:flex;flex-direction:row">
<img src="https://assets.kitploit.com/production/public/readmes/50956/c1bde1e3621f106c2504cf4ecb9cc9015b23340c7a9bd5f20364c27016b2dd40/4f02747809c3b183c8af8238f6858540057402adfe0f26d4fa9d646091fa5781-display-v1.webp" width="720"/>
<img src="https://assets.kitploit.com/production/public/readmes/50956/ac44f4c3d408a07f4a0b96b2eb37ecc58f3a9711f32b31a642c27e96ad2ab767/c94f4da9c540b7890c9350605f085bddc730ed40073c886ff94a2475bdfe806a-display-v1.webp" width="720"/>
</div>
<!--  -->
<!--  -->
## 3.5.0 ##
- selenium 4.10 引发了一些问题。3.5.0 与之兼容,并将 selenium 固定为 4.9 或更高版本。我无法再支持 <4.9 版本。
- 从构造函数中移除了部分 kwargs:service_args、service_creationflags、service_log_path。
- 新增了 find_elements_recursive 生成器函数。这更多是一个便捷函数,因为很多网站似乎从不同的 frame 提供不同的内容,导致
find_elements 难以使用。
## 3.4.5 ##
- 真是难熬的一周。本以为 3.4.0 已经击败了最新的自动化检测算法(至少我是这么想的),但显然在某些操作系统上,这会在与元素交互时引发错误。不得不改用另一种方法回退、修复 bug,最终仍然坚持了最初的构想(并修复了 bug)。
- 更新到 chrome 110 带来了另一个意外,这次影响的是 HEADLESS 用户。
- 虽然 headless 官方不支持,但我还是打了补丁!
- 很高兴地宣布,它现在同样无法被检测(但仍然不受支持 ;))
- 特别感谢 [@mdmintz](https://github.com/mdmintz) 和 [@abdulzain6](https://github.com/abdulzain6)
- 还要特别感谢 [@sebdelsol](https://github.com/sebdelsol),他完全自愿地在 issues 板块中提供帮助,你一定是疯了 :)
### 3.4.0 ###
**重大更新!请小心,它——有可能——会破坏你的代码。**
* 重写了反检测机制。不再是移除和重命名变量,而是直接保留它们,但从一开始就阻止它们被注入。这至少能在近期让我们免于被检测。
* 重写了文件命名方式,避免最终出现 1000 个 {randomstring}_chromedriver.exe 文件,现在它直接叫 undetected_chromedriver.exe
* 清理:移除了 compat、v2 文件和 tests 文件夹
### 3.2.0 ###
* 新增了一个示例,包含一些典型的 webdriver 代码、常见问题的解答、易踩的坑,并展示了一些摆脱
多线程需求的技巧。
### [>>>> 示例代码在此 <<<<](https://github.com/ultrafunkamsterdam/undetected-chromedriver/blob/master/example/example.py)
* 新增 WebElement.click_safe() 方法,如果在点击链接后被检测到,可以尝试使用该方法。这并不保证一定有效。
* 新增 WebElement.children(self, tag=None, recursive=False)
用于轻松获取/查找子节点。示例:
```
body = driver.find_element('tag name', 'body')
# get the 6th child (any tag) of body, and grab all img's within (recursive).
images = body.children()[6].children('img', True)
srcs = list(map(lambda _:_.attrs.get('src'), images))
```
* 新增 example.py,当有人问一些傻问题时我可以直接指给他们看
(不,其实它相当酷,每个人都应该看看)
* 新增对 lambda 平台的支持
* 新增对 x86_32 的支持
* 新增对报告为 linux2 的系统的支持
* 进行了一些重构
### 3.1.6 ###
### 依然坚挺 ###
- use_subprocess 现在默认为 True。太多人不理解 multiprocessing 和 __name__ == '__main__',而且经过测试,
在 chrome 104+ 中似乎不再有什么差别了
- 新增 no_sandbox,默认为 True,而且不会出现烦人的 "you are using unsecure command line ..." 提示条。
- 更新了 [Docker 镜像](https://hub.docker.com/r/ultrafunk/undetected-chromedriver)。现在你可以通过 vnc 或 rdp 进入容器,查看
真实的浏览器窗口
[](https://i.imgur.com/W7vriN9.mp4)
- 当然,"常规"模式同样适用
[](https://i.imgur.com/2qSNyuK.mp4)
### 3.1.0 ###
**此版本 `可能` 会破坏你的代码,更新前请先测试!**
- **新增了反检测逻辑!**
- v2 已成为主模块,因此不再需要引用 v2。这意味着你现在可以简单地使用: ```python
import undetected_chromedriver as uc
driver = uc.Chrome()
driver.get('https://nowsecure.nl')
for backwards compatibility, v2 is not removed, but aliassed to the main module.
Fixed "welcome screen" nagging on non-windows OS-es. For those nagfetishists who ❤ welcome screens and feeding google with even more data, use Chrome(suppress_welcome=False).
replaced executable_path in constructor in favor of browser_executable_path
which should not be used unless you are the edge case (yep, you are) who can't add your custom chrome installation folder to your PATH
environment variable, or have an army of different browsers/versions and automatic lookup returns the wrong browser
"v1" (?) moved to _compat for now.
fixed dependency versions
ChromeOptions custom handling removed, so it is compatible with webdriver.chromium.options.ChromiumOptions.
removed Chrome.get() fu and restored back to "almost" original:
with statements needed anymore, although it will still work for the sake of backward-compatibility.test success to date: 100%
just to mention it another time, since some people have hard time reading: headless is still WIP. Raising issues is needless
将进程创建行为改为完全分离
更改 .get(url) 方法,使其始终使用 contextmanager
更改 .get(url) 方法,使其在底层使用 cdp。
... with 语句不再必需了 ..
待办:迈向 asyncification 和 selenium 4
每当你遇到那令人畏惧的from session not created: This version of ChromeDriver only supports Chrome version 96 # or what ever version
the solution is simple:
import undetected_chromedriver as uc
driver = uc.Chrome( version_main = 95 ) ```
**July 2021: Currently busy implementing selenium 4 for undetected-chromedriver**
**newsflash: https://github.com/ultrafunkamsterdam/undetected-chromedriver/pull/255**
## Usage ##
To prevent unnecessary hair-pulling and issue-raising, please mind the **[important note at the end of this document](#important-note) .**
<br>
### easy ###
Literally, this is all you have to do. Settings are included and your browser executable is found automagically. This is also the snippet i
recommend using in case you experience an issue.
```python
import undetected_chromedriver as uc
driver = uc.Chrome()
driver.get( 'https://nowsecure.nl' ) # my own test test site with max anti-bot protection```
### more advanced way, including setting profie folder ###
Literally, this is all you have to do. If a specified folder does not exist, a NEW profile is created. Data dirs which are specified like
this will not be autoremoved on exit.
```python
import undetected_chromedriver as uc
options = uc.ChromeOptions()
# 设置配置文件
options.user_data_dir = "c:\\temp\\profile"
# 使用特定(较旧)版本
driver = uc.Chrome(
options = options , version_main = 94
) # version_main 允许指定你的 Chrome 版本,而不是跟随全局 Chrome 版本
driver.get( 'https://nowsecure.nl' ) # 我自己的测试站点,具有最强的反机器人保护```
### expert mode, including Devtool/Wire events ###
Literally, this is all you have to do. You can now listen and subscribe to the low level devtools-protocol. I just recently found out that
is also on planning for future release of the official chromedriver. However i implemented my own for now. Since i needed it myself for
investigation.
```python
import undetected_chromedriver as uc
from pprint import pformat
driver = uc.Chrome(enable_cdp_events=True)
def mylousyprintfunction(eventdata):
print(pformat(eventdata))
# set the callback to Network.dataReceived to print (yeah not much original)
driver.add_cdp_listener("Network.dataReceived", mylousyprintfunction)
driver.get('https://nowsecure.nl') # known url using cloudflare's "under attack mode"
def mylousyprintfunction(message):
print(pformat(message))
# for more inspiration checkout the link below
# https://chromedevtools.github.io/devtools-protocol/1-3/Network/
# and of couse 2 lousy examples
driver.add_cdp_listener('Network.requestWillBeSent', mylousyprintfunction)
driver.add_cdp_listener('Network.dataReceived', mylousyprintfunction)
# hint: a wildcard captures all events!
# driver.add_cdp_listener('*', mylousyprintfunction)
# now all these events will be printed in my console
driver.get('https://nowsecure.nl'){'method': 'Network.requestWillBeSent',
'params': {'documentURL': 'https://nowsecure.nl/',
'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'hasUserGesture': False,
'initiator': {'type': 'other'},
'loaderId': '449906A5C736D819123288133F2797E6',
'request': {'headers': {'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT '
'10.0; Win64; x64) '
'AppleWebKit/537.36 (KHTML, '
'like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0'},
'initialPriority': 'VeryHigh',
'method': 'GET',
'mixedContentType': 'none',
'referrerPolicy': 'strict-origin-when-cross-origin',
'url': 'https://nowsecure.nl/'},
'requestId': '449906A5C736D819123288133F2797E6',
'timestamp': 190010.996717,
'type': 'Document',
'wallTime': 1621835932.112026}}
{'method': 'Network.requestWillBeSentExtraInfo',
'params': {'associatedCookies': [],
'headers': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/',
':scheme': 'https',
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'en-US,en;q=0.9',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'document',
'sec-fetch-mode': 'navigate',
'sec-fetch-site': 'none',
'sec-fetch-user': '?1',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; '
'x64) AppleWebKit/537.36 (KHTML, like '
'Gecko) Chrome/90.0.4430.212 '
'Safari/537.36'},
'requestId': '449906A5C736D819123288133F2797E6'}}
{'method': 'Network.responseReceivedExtraInfo',
'params': {'blockedCookies': [],
'headers': {'alt-svc': 'h3-27=":443"; ma=86400, h3-28=":443"; '
'ma=86400, h3-29=":443"; ma=86400',
'cache-control': 'private, max-age=0, no-store, '
'no-cache, must-revalidate, '
'post-check=0, pre-check=0',
'cf-ray': '65444b779ae6546f-LHR',
'cf-request-id': '0a3e8d7eba0000546ffd3fa000000001',
'content-type': 'text/html; charset=UTF-8',
'date': 'Mon, 24 May 2021 05:58:53 GMT',
'expect-ct': 'max-age=604800, '
'report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"',
'expires': 'Thu, 01 Jan 1970 00:00:01 GMT',
'nel': '{"report_to":"cf-nel","max_age":604800}',
'permissions-policy': 'accelerometer=(),autoplay=(),camera=(),clipboard-read=(),clipboard-write=(),fullscreen=(),geolocation=(),gyroscope=(),hid=(),interest-cohort=(),magnetometer=(),microphone=(),payment=(),publickey-credentials-get=(),screen-wake-lock=(),serial=(),sync-xhr=(),usb=()',
'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report?s=CAfobYlmWImQ90e%2B4BFBhpPYL%2FyGyBvkcWAj%2B%2FVOLoEq0NVrD5jU9m5pi%2BKI%2BOAnINLPXOCoX2psLphA5Z38aZzWNr3eW%2BDTIK%2FQidc%3D"}],"group":"cf-nel","max_age":604800}',
'server': 'cloudflare',
'vary': 'Accept-Encoding',
'x-frame-options': 'SAMEORIGIN'},
'requestId': '449906A5C736D819123288133F2797E6',
'resourceIPAddressSpace': 'Public'}}
{'method': 'Network.responseReceived',
'params': {'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'loaderId': '449906A5C736D819123288133F2797E6',
'requestId': '449906A5C736D819123288133F2797E6',
'response': {'connectionId': 158,
'connectionReused': False,
'encodedDataLength': 851,
'fromDiskCache': False,
'fromPrefetchCache': False,
'fromServiceWorker': False,
'headers': {'alt-svc': 'h3-27=":443"; ma=86400, '
'h3-28=":443"; ma=86400, '
'h3-29=":443"; ma=86400',
'cache-control': 'private, max-age=0, '
'no-store, no-cache, '
'must-revalidate, '
'post-check=0, '
'pre-check=0',
'cf-ray': '65444b779ae6546f-LHR',
'cf-request-id': '0a3e8d7eba0000546ffd3fa000000001',
'content-type': 'text/html; charset=UTF-8',
'date': 'Mon, 24 May 2021 05:58:53 GMT',
'expect-ct': 'max-age=604800, '
'report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"',
'expires': 'Thu, 01 Jan 1970 00:00:01 GMT',
'nel': '{"report_to":"cf-nel","max_age":604800}',
'permissions-policy': 'accelerometer=(),autoplay=(),camera=(),clipboard-read=(),clipboard-write=(),fullscreen=(),geolocation=(),gyroscope=(),hid=(),interest-cohort=(),magnetometer=(),microphone=(),payment=(),publickey-credentials-get=(),screen-wake-lock=(),serial=(),sync-xhr=(),usb=()',
'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report?s=CAfobYlmWImQ90e%2B4BFBhpPYL%2FyGyBvkcWAj%2B%2FVOLoEq0NVrD5jU9m5pi%2BKI%2BOAnINLPXOCoX2psLphA5Z38aZzWNr3eW%2BDTIK%2FQidc%3D"}],"group":"cf-nel","max_age":604800}',
'server': 'cloudflare',
'vary': 'Accept-Encoding',
'x-frame-options': 'SAMEORIGIN'},
'mimeType': 'text/html',
'protocol': 'h2',
'remoteIPAddress': '104.21.5.197',
'remotePort': 443,
'requestHeaders': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/',
':scheme': 'https',
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'accept-encoding': 'gzip, deflate, '
'br',
'accept-language': 'en-US,en;q=0.9',
'sec-ch-ua': '" Not '
'A;Brand";v="99", '
'"Chromium";v="90", '
'"Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'document',
'sec-fetch-mode': 'navigate',
'sec-fetch-site': 'none',
'sec-fetch-user': '?1',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 '
'(Windows NT 10.0; '
'Win64; x64) '
'AppleWebKit/537.36 '
'(KHTML, like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36'},
'responseTime': 1621835932177.923,
'securityDetails': {'certificateId': 0,
'certificateTransparencyCompliance': 'compliant',
'cipher': 'AES_128_GCM',
'issuer': 'Cloudflare Inc ECC '
'CA-3',
'keyExchange': '',
'keyExchangeGroup': 'X25519',
'protocol': 'TLS 1.3',
'sanList': ['sni.cloudflaressl.com',
'*.nowsecure.nl',
'nowsecure.nl'],
'signedCertificateTimestampList': [{'hashAlgorithm': 'SHA-256',
'logDescription': 'Google '
"'Argon2021' "
'log',
'logId': 'F65C942FD1773022145418083094568EE34D131933BFDF0C2F200BCC4EF164E3',
'origin': 'Embedded '
'in '
'certificate',
'signatureAlgorithm': 'ECDSA',
'signatureData': '30450221008A25458182A6E7F608FE1492086762A367381E94137952FFD621BA2E60F7E2F702203BCDEBCE1C544DECF0A113DE12B33E299319E6240426F38F08DFC04EF2E42825',
'status': 'Verified',
'timestamp': 1598706372839.0},
{'hashAlgorithm': 'SHA-256',
'logDescription': 'DigiCert '
'Yeti2021 '
'Log',
'logId': '5CDC4392FEE6AB4544B15E9AD456E61037FBD5FA47DCA17394B25EE6F6C70ECA',
'origin': 'Embedded '
'in '
'certificate',
'signatureAlgorithm': 'ECDSA',
'signatureData': '3046022100A95A49C7435DBFC73406AC409062C27269E6E69F443A2213F3A085E3BCBD234A022100DEA878296F8A1DB43546DC1865A4C5AD2B90664A243AE0A3A6D4925802EE68A8',
'status': 'Verified',
'timestamp': 1598706372823.0}],
'subjectName': 'sni.cloudflaressl.com',
'validFrom': 1598659200,
'validTo': 1630238400},
'securityState': 'secure',
'status': 503,
'statusText': '',
'timing': {'connectEnd': 40.414,
'connectStart': 0,
'dnsEnd': 0,
'dnsStart': 0,
'proxyEnd': -1,
'proxyStart': -1,
'pushEnd': 0,
'pushStart': 0,
'receiveHeadersEnd': 60.361,
'requestTime': 190011.002239,
'sendEnd': 41.348,
'sendStart': 41.19,
'sslEnd': 40.405,
'sslStart': 10.853,
'workerFetchStart': -1,
'workerReady': -1,
'workerRespondWithSettled': -1,
'workerStart': -1},
'url': 'https://nowsecure.nl/'},
'timestamp': 190011.06449,
'type': 'Document'}}
{'method': 'Page.frameStartedLoading',
'params': {'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700'}}
{'method': 'Page.frameNavigated',
'params': {'frame': {'adFrameType': 'none',
'crossOriginIsolatedContextType': 'NotIsolated',
'domainAndRegistry': 'nowsecure.nl',
'gatedAPIFeatures': ['SharedArrayBuffers',
'SharedArrayBuffersTransferAllowed'],
'id': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'loaderId': '449906A5C736D819123288133F2797E6',
'mimeType': 'text/html',
'secureContextType': 'Secure',
'securityOrigin': 'https://nowsecure.nl',
'url': 'https://nowsecure.nl/'}}}
{'method': 'Network.dataReceived',
'params': {'dataLength': 9835,
'encodedDataLength': 0,
'requestId': '449906A5C736D819123288133F2797E6',
'timestamp': 190011.093343}}
{'method': 'Network.loadingFinished',
'params': {'encodedDataLength': 10713,
'requestId': '449906A5C736D819123288133F2797E6',
'shouldReportCorbBlocking': False,
'timestamp': 190011.064011}}
{'method': 'Network.requestWillBeSent',
'params': {'documentURL': 'https://nowsecure.nl/',
'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'hasUserGesture': False,
'initiator': {'stack': {'callFrames': [{'columnNumber': 51,
'functionName': '',
'lineNumber': 114,
'scriptId': '8',
'url': 'https://nowsecure.nl/'},
{'columnNumber': 9,
'functionName': '',
'lineNumber': 115,
'scriptId': '8',
'url': 'https://nowsecure.nl/'}]},
'type': 'script'},
'loaderId': '449906A5C736D819123288133F2797E6',
'request': {'headers': {'Referer': 'https://nowsecure.nl/',
'User-Agent': 'Mozilla/5.0 (Windows NT '
'10.0; Win64; x64) '
'AppleWebKit/537.36 (KHTML, '
'like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0'},
'initialPriority': 'Low',
'method': 'GET',
'mixedContentType': 'none',
'referrerPolicy': 'strict-origin-when-cross-origin',
'url': 'https://nowsecure.nl/cdn-cgi/challenge-platform/h/b/orchestrate/jsch/v1?ray=65444b779ae6546f'},
'requestId': '17180.2',
'timestamp': 190011.106133,
'type': 'Script',
'wallTime': 1621835932.221325}}
{'method': 'Network.requestWillBeSent',
'params': {'documentURL': 'https://nowsecure.nl/',
'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'hasUserGesture': False,
'initiator': {'columnNumber': 13,
'lineNumber': 117,
'type': 'parser',
'url': 'https://nowsecure.nl/'},
'loaderId': '449906A5C736D819123288133F2797E6',
'request': {'headers': {'Referer': 'https://nowsecure.nl/',
'User-Agent': 'Mozilla/5.0 (Windows NT '
'10.0; Win64; x64) '
'AppleWebKit/537.36 (KHTML, '
'like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0'},
'initialPriority': 'Low',
'method': 'GET',
'mixedContentType': 'none',
'referrerPolicy': 'strict-origin-when-cross-origin',
'url': 'https://nowsecure.nl/cdn-cgi/images/trace/jschal/js/transparent.gif?ray=65444b779ae6546f'},
'requestId': '17180.3',
'timestamp': 190011.106911,
'type': 'Image',
'wallTime': 1621835932.222102}}
{'method': 'Network.requestWillBeSent',
'params': {'documentURL': 'https://nowsecure.nl/',
'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'hasUserGesture': False,
'initiator': {'type': 'parser', 'url': 'https://nowsecure.nl/'},
'loaderId': '449906A5C736D819123288133F2797E6',
'request': {'headers': {'Referer': 'https://nowsecure.nl/',
'User-Agent': 'Mozilla/5.0 (Windows NT '
'10.0; Win64; x64) '
'AppleWebKit/537.36 (KHTML, '
'like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0'},
'initialPriority': 'Low',
'method': 'GET',
'mixedContentType': 'none',
'referrerPolicy': 'strict-origin-when-cross-origin',
'url': 'https://nowsecure.nl/cdn-cgi/images/trace/jschal/nojs/transparent.gif?ray=65444b779ae6546f'},
'requestId': '17180.4',
'timestamp': 190011.109527,
'type': 'Image',
'wallTime': 1621835932.224719}}
{'method': 'Page.domContentEventFired', 'params': {'timestamp': 190011.110345}}
{'method': 'Network.requestWillBeSentExtraInfo',
'params': {'associatedCookies': [],
'clientSecurityState': {'initiatorIPAddressSpace': 'Public',
'initiatorIsSecureContext': True,
'privateNetworkRequestPolicy': 'WarnFromInsecureToMorePrivate'},
'headers': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/cdn-cgi/images/trace/jschal/js/transparent.gif?ray=65444b779ae6546f',
':scheme': 'https',
'accept': 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'en-US,en;q=0.9',
'referer': 'https://nowsecure.nl/',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'image',
'sec-fetch-mode': 'no-cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; '
'x64) AppleWebKit/537.36 (KHTML, like '
'Gecko) Chrome/90.0.4430.212 '
'Safari/537.36'},
'requestId': '17180.3'}}
{'method': 'Network.requestWillBeSentExtraInfo',
'params': {'associatedCookies': [],
'clientSecurityState': {'initiatorIPAddressSpace': 'Public',
'initiatorIsSecureContext': True,
'privateNetworkRequestPolicy': 'WarnFromInsecureToMorePrivate'},
'headers': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/cdn-cgi/challenge-platform/h/b/orchestrate/jsch/v1?ray=65444b779ae6546f',
':scheme': 'https',
'accept': '*/*',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'en-US,en;q=0.9',
'referer': 'https://nowsecure.nl/',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'script',
'sec-fetch-mode': 'no-cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; '
'x64) AppleWebKit/537.36 (KHTML, like '
'Gecko) Chrome/90.0.4430.212 '
'Safari/537.36'},
'requestId': '17180.2'}}
{'method': 'Network.requestWillBeSentExtraInfo',
'params': {'associatedCookies': [],
'clientSecurityState': {'initiatorIPAddressSpace': 'Public',
'initiatorIsSecureContext': True,
'privateNetworkRequestPolicy': 'WarnFromInsecureToMorePrivate'},
'headers': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/cdn-cgi/images/trace/jschal/nojs/transparent.gif?ray=65444b779ae6546f',
':scheme': 'https',
'accept': 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'en-US,en;q=0.9',
'referer': 'https://nowsecure.nl/',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'image',
'sec-fetch-mode': 'no-cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; '
'x64) AppleWebKit/537.36 (KHTML, like '
'Gecko) Chrome/90.0.4430.212 '
'Safari/537.36'},
'requestId': '17180.4'}}
{'method': 'Network.responseReceivedExtraInfo',
'params': {'blockedCookies': [],
'headers': {'accept-ranges': 'bytes',
'cache-control': 'max-age=7200\npublic',
'cf-ray': '65444b781d1de604-LHR',
'content-length': '42',
'content-type': 'image/gif',
'date': 'Mon, 24 May 2021 05:58:53 GMT',
'etag': '"60a4d856-2a"',
'expires': 'Mon, 24 May 2021 07:58:53 GMT',
'last-modified': 'Wed, 19 May 2021 09:20:22 GMT',
'server': 'cloudflare',
'vary': 'Accept-Encoding',
'x-content-type-options': 'nosniff',
'x-frame-options': 'DENY'},
'requestId': '17180.3',
'resourceIPAddressSpace': 'Public'}}
{'method': 'Network.responseReceivedExtraInfo',
'params': {'blockedCookies': [],
'headers': {'accept-ranges': 'bytes',
'cache-control': 'max-age=7200\npublic',
'cf-ray': '65444b781d1fe604-LHR',
'content-length': '42',
'content-type': 'image/gif',
'date': 'Mon, 24 May 2021 05:58:53 GMT',
'etag': '"60a4d856-2a"',
'expires': 'Mon, 24 May 2021 07:58:53 GMT',
'last-modified': 'Wed, 19 May 2021 09:20:22 GMT',
'server': 'cloudflare',
'vary': 'Accept-Encoding',
'x-content-type-options': 'nosniff',
'x-frame-options': 'DENY'},
'requestId': '17180.4',
'resourceIPAddressSpace': 'Public'}}
{'method': 'Network.resourceChangedPriority',
'params': {'newPriority': 'High',
'requestId': '17180.4',
'timestamp': 190011.171057}}
{'method': 'Network.responseReceived',
'params': {'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'loaderId': '449906A5C736D819123288133F2797E6',
'requestId': '17180.3',
'response': {'connectionId': 0,
'connectionReused': False,
'encodedDataLength': 214,
'fromDiskCache': False,
'fromPrefetchCache': False,
'fromServiceWorker': False,
'headers': {'accept-ranges': 'bytes',
'cache-control': 'max-age=7200\npublic',
'cf-ray': '65444b781d1de604-LHR',
'content-length': '42',
'content-type': 'image/gif',
'date': 'Mon, 24 May 2021 05:58:53 GMT',
'etag': '"60a4d856-2a"',
'expires': 'Mon, 24 May 2021 07:58:53 GMT',
'last-modified': 'Wed, 19 May 2021 '
'09:20:22 GMT',
'server': 'cloudflare',
'vary': 'Accept-Encoding',
'x-content-type-options': 'nosniff',
'x-frame-options': 'DENY'},
'mimeType': 'image/gif',
'protocol': 'h3-29',
'remoteIPAddress': '104.21.5.197',
'remotePort': 443,
'requestHeaders': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/cdn-cgi/images/trace/jschal/js/transparent.gif?ray=65444b779ae6546f',
':scheme': 'https',
'accept': 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8',
'accept-encoding': 'gzip, deflate, '
'br',
'accept-language': 'en-US,en;q=0.9',
'referer': 'https://nowsecure.nl/',
'sec-ch-ua': '" Not '
'A;Brand";v="99", '
'"Chromium";v="90", '
'"Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'image',
'sec-fetch-mode': 'no-cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 '
'(Windows NT 10.0; '
'Win64; x64) '
'AppleWebKit/537.36 '
'(KHTML, like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36'},
'responseTime': 1621835932265.169,
'securityDetails': {'certificateId': 0,
'certificateTransparencyCompliance': 'compliant',
'cipher': 'AES_128_GCM',
'issuer': 'Cloudflare Inc ECC '
'CA-3',
'keyExchange': '',
'keyExchangeGroup': 'X25519',
'protocol': 'QUIC',
'sanList': ['sni.cloudflaressl.com',
'*.nowsecure.nl',
'nowsecure.nl'],
'signedCertificateTimestampList': [{'hashAlgorithm': 'SHA-256',
'logDescription': 'Google '
"'Argon2021' "
'log',
'logId': 'F65C942FD1773022145418083094568EE34D131933BFDF0C2F200BCC4EF164E3',
'origin': 'Embedded '
'in '
'certificate',
'signatureAlgorithm': 'ECDSA',
'signatureData': '30450221008A25458182A6E7F608FE1492086762A367381E94137952FFD621BA2E60F7E2F702203BCDEBCE1C544DECF0A113DE12B33E299319E6240426F38F08DFC04EF2E42825',
'status': 'Verified',
'timestamp': 1598706372839.0},
{'hashAlgorithm': 'SHA-256',
'logDescription': 'DigiCert '
'Yeti2021 '
'Log',
'logId': '5CDC4392FEE6AB4544B15E9AD456E61037FBD5FA47DCA17394B25EE6F6C70ECA',
'origin': 'Embedded '
'in '
'certificate',
'signatureAlgorithm': 'ECDSA',
'signatureData': '3046022100A95A49C7435DBFC73406AC409062C27269E6E69F443A2213F3A085E3BCBD234A022100DEA878296F8A1DB43546DC1865A4C5AD2B90664A243AE0A3A6D4925802EE68A8',
'status': 'Verified',
'timestamp': 1598706372823.0}],
'subjectName': 'sni.cloudflaressl.com',
'validFrom': 1598659200,
'validTo': 1630238400},
'securityState': 'secure',
'status': 200,
'statusText': '',
'timing': {'connectEnd': 26.087,
'connectStart': 0,
'dnsEnd': 0,
'dnsStart': 0,
'proxyEnd': -1,
'proxyStart': -1,
'pushEnd': 0,
'pushStart': 0,
'receiveHeadersEnd': 40.709,
'requestTime': 190011.109386,
'sendEnd': 26.346,
'sendStart': 26.182,
'sslEnd': 26.087,
'sslStart': 0,
'workerFetchStart': -1,
'workerReady': -1,
'workerRespondWithSettled': -1,
'workerStart': -1},
'url': 'https://nowsecure.nl/cdn-cgi/images/trace/jschal/js/transparent.gif?ray=65444b779ae6546f'},
'timestamp': 190011.174536,
'type': 'Image'}}
{'method': 'Network.dataReceived',
'params': {'dataLength': 42,
'encodedDataLength': 0,
'requestId': '17180.3',
'timestamp': 190011.174737}}
{'method': 'Network.dataReceived',
'params': {'dataLength': 0,
'encodedDataLength': 44,
'requestId': '17180.3',
'timestamp': 190011.17524}}
{'method': 'Network.loadingFinished',
'params': {'encodedDataLength': 258,
'requestId': '17180.3',
'shouldReportCorbBlocking': False,
'timestamp': 190011.152073}}
{'method': 'Network.responseReceived',
'params': {'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'loaderId': '449906A5C736D819123288133F2797E6',
'requestId': '17180.4',
'response': {'connectionId': 0,
'connectionReused': True,
'encodedDataLength': 178,
'fromDiskCache': False,
'fromPrefetchCache': False,
'fromServiceWorker': False,
'headers': {'accept-ranges': 'bytes',
'cache-control': 'max-age=7200\npublic',
'cf-ray': '65444b781d1fe604-LHR',
'content-length': '42',
'content-type': 'image/gif',
'date': 'Mon, 24 May 2021 05:58:53 GMT',
'etag': '"60a4d856-2a"',
'expires': 'Mon, 24 May 2021 07:58:53 GMT',
'last-modified': 'Wed, 19 May 2021 '
'09:20:22 GMT',
'server': 'cloudflare',
'vary': 'Accept-Encoding',
'x-content-type-options': 'nosniff',
'x-frame-options': 'DENY'},
'mimeType': 'image/gif',
'protocol': 'h3-29',
'remoteIPAddress': '104.21.5.197',
'remotePort': 443,
'requestHeaders': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/cdn-cgi/images/trace/jschal/nojs/transparent.gif?ray=65444b779ae6546f',
':scheme': 'https',
'accept': 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8',
'accept-encoding': 'gzip, deflate, '
'br',
'accept-language': 'en-US,en;q=0.9',
'referer': 'https://nowsecure.nl/',
'sec-ch-ua': '" Not '
'A;Brand";v="99", '
'"Chromium";v="90", '
'"Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'image',
'sec-fetch-mode': 'no-cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 '
'(Windows NT 10.0; '
'Win64; x64) '
'AppleWebKit/537.36 '
'(KHTML, like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36'},
'responseTime': 1621835932268.067,
'securityDetails': {'certificateId': 0,
'certificateTransparencyCompliance': 'compliant',
'cipher': 'AES_128_GCM',
'issuer': 'Cloudflare Inc ECC '
'CA-3',
'keyExchange': '',
'keyExchangeGroup': 'X25519',
'protocol': 'QUIC',
'sanList': ['sni.cloudflaressl.com',
'*.nowsecure.nl',
'nowsecure.nl'],
'signedCertificateTimestampList': [{'hashAlgorithm': 'SHA-256',
'logDescription': 'Google '
"'Argon2021' "
'log',
'logId': 'F65C942FD1773022145418083094568EE34D131933BFDF0C2F200BCC4EF164E3',
'origin': 'Embedded '
'in '
'certificate',
'signatureAlgorithm': 'ECDSA',
'signatureData': '30450221008A25458182A6E7F608FE1492086762A367381E94137952FFD621BA2E60F7E2F702203BCDEBCE1C544DECF0A113DE12B33E299319E6240426F38F08DFC04EF2E42825',
'status': 'Verified',
'timestamp': 1598706372839.0},
{'hashAlgorithm': 'SHA-256',
'logDescription': 'DigiCert '
'Yeti2021 '
'Log',
'logId': '5CDC4392FEE6AB4544B15E9AD456E61037FBD5FA47DCA17394B25EE6F6C70ECA',
'origin': 'Embedded '
'in '
'certificate',
'signatureAlgorithm': 'ECDSA',
'signatureData': '3046022100A95A49C7435DBFC73406AC409062C27269E6E69F443A2213F3A085E3BCBD234A022100DEA878296F8A1DB43546DC1865A4C5AD2B90664A243AE0A3A6D4925802EE68A8',
'status': 'Verified',
'timestamp': 1598706372823.0}],
'subjectName': 'sni.cloudflaressl.com',
'validFrom': 1598659200,
'validTo': 1630238400},
'securityState': 'secure',
'status': 200,
'statusText': '',
'timing': {'connectEnd': -1,
'connectStart': -1,
'dnsEnd': -1,
'dnsStart': -1,
'proxyEnd': -1,
'proxyStart': -1,
'pushEnd': 0,
'pushStart': 0,
'receiveHeadersEnd': 42.415,
'requestTime': 190011.110341,
'sendEnd': 25.713,
'sendStart': 25.609,
'sslEnd': -1,
'sslStart': -1,
'workerFetchStart': -1,
'workerReady': -1,
'workerRespondWithSettled': -1,
'workerStart': -1},
'url': 'https://nowsecure.nl/cdn-cgi/images/trace/jschal/nojs/transparent.gif?ray=65444b779ae6546f'},
'timestamp': 190011.175727,
'type': 'Image'}}
{'method': 'Network.dataReceived',
'params': {'dataLength': 42,
'encodedDataLength': 0,
'requestId': '17180.4',
'timestamp': 190011.175856}}
{'method': 'Network.dataReceived',
'params': {'dataLength': 0,
'encodedDataLength': 44,
'requestId': '17180.4',
'timestamp': 190011.176133}}
{'method': 'Network.loadingFinished',
'params': {'encodedDataLength': 222,
'requestId': '17180.4',
'shouldReportCorbBlocking': False,
'timestamp': 190011.153335}}
{'method': 'Network.responseReceivedExtraInfo',
'params': {'blockedCookies': [],
'headers': {'alt-svc': 'h3-27=":443"; ma=86400, h3-28=":443"; '
'ma=86400, h3-29=":443"; ma=86400',
'cache-control': 'max-age=0, must-revalidate',
'cf-ray': '65444b781d1ee604-LHR',
'cf-request-id': '0a3e8d7f140000e60496387000000001',
'content-encoding': 'br',
'content-type': 'text/javascript',
'date': 'Mon, 24 May 2021 05:58:53 GMT',
'expect-ct': 'max-age=604800, '
'report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"',
'nel': '{"report_to":"cf-nel","max_age":604800}',
'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report?s=ZtI%2Bx8B7DpI8%2FsDA72maecFVCPvIsfBOyJjT8weyiqfmrHrmcBYpRhc%2FI%2F6JmIlnxW%2F%2BBohxLi1F8mpjAUabJ0kXLYnmjGKp2Ndio9M%3D"}],"group":"cf-nel","max_age":604800}',
'server': 'cloudflare',
'vary': 'Accept-Encoding'},
'requestId': '17180.2',
'resourceIPAddressSpace': 'Public'}}
{'method': 'Network.responseReceived',
'params': {'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'loaderId': '449906A5C736D819123288133F2797E6',
'requestId': '17180.2',
'response': {'connectionId': 0,
'connectionReused': True,
'encodedDataLength': 510,
'fromDiskCache': False,
'fromPrefetchCache': False,
'fromServiceWorker': False,
'headers': {'alt-svc': 'h3-27=":443"; ma=86400, '
'h3-28=":443"; ma=86400, '
'h3-29=":443"; ma=86400',
'cache-control': 'max-age=0, '
'must-revalidate',
'cf-ray': '65444b781d1ee604-LHR',
'cf-request-id': '0a3e8d7f140000e60496387000000001',
'content-encoding': 'br',
'content-type': 'text/javascript',
'date': 'Mon, 24 May 2021 05:58:53 GMT',
'expect-ct': 'max-age=604800, '
'report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"',
'nel': '{"report_to":"cf-nel","max_age":604800}',
'report-to': '{"endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report?s=ZtI%2Bx8B7DpI8%2FsDA72maecFVCPvIsfBOyJjT8weyiqfmrHrmcBYpRhc%2FI%2F6JmIlnxW%2F%2BBohxLi1F8mpjAUabJ0kXLYnmjGKp2Ndio9M%3D"}],"group":"cf-nel","max_age":604800}',
'server': 'cloudflare',
'vary': 'Accept-Encoding'},
'mimeType': 'text/javascript',
'protocol': 'h3-29',
'remoteIPAddress': '104.21.5.197',
'remotePort': 443,
'requestHeaders': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/cdn-cgi/challenge-platform/h/b/orchestrate/jsch/v1?ray=65444b779ae6546f',
':scheme': 'https',
'accept': '*/*',
'accept-encoding': 'gzip, deflate, '
'br',
'accept-language': 'en-US,en;q=0.9',
'referer': 'https://nowsecure.nl/',
'sec-ch-ua': '" Not '
'A;Brand";v="99", '
'"Chromium";v="90", '
'"Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'script',
'sec-fetch-mode': 'no-cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 '
'(Windows NT 10.0; '
'Win64; x64) '
'AppleWebKit/537.36 '
'(KHTML, like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36'},
'responseTime': 1621835932301.817,
'securityDetails': {'certificateId': 0,
'certificateTransparencyCompliance': 'compliant',
'cipher': 'AES_128_GCM',
'issuer': 'Cloudflare Inc ECC '
'CA-3',
'keyExchange': '',
'keyExchangeGroup': 'X25519',
'protocol': 'QUIC',
'sanList': ['sni.cloudflaressl.com',
'*.nowsecure.nl',
'nowsecure.nl'],
'signedCertificateTimestampList': [{'hashAlgorithm': 'SHA-256',
'logDescription': 'Google '
"'Argon2021' "
'log',
'logId': 'F65C942FD1773022145418083094568EE34D131933BFDF0C2F200BCC4EF164E3',
'origin': 'Embedded '
'in '
'certificate',
'signatureAlgorithm': 'ECDSA',
'signatureData': '30450221008A25458182A6E7F608FE1492086762A367381E94137952FFD621BA2E60F7E2F702203BCDEBCE1C544DECF0A113DE12B33E299319E6240426F38F08DFC04EF2E42825',
'status': 'Verified',
'timestamp': 1598706372839.0},
{'hashAlgorithm': 'SHA-256',
'logDescription': 'DigiCert '
'Yeti2021 '
'Log',
'logId': '5CDC4392FEE6AB4544B15E9AD456E61037FBD5FA47DCA17394B25EE6F6C70ECA',
'origin': 'Embedded '
'in '
'certificate',
'signatureAlgorithm': 'ECDSA',
'signatureData': '3046022100A95A49C7435DBFC73406AC409062C27269E6E69F443A2213F3A085E3BCBD234A022100DEA878296F8A1DB43546DC1865A4C5AD2B90664A243AE0A3A6D4925802EE68A8',
'status': 'Verified',
'timestamp': 1598706372823.0}],
'subjectName': 'sni.cloudflaressl.com',
'validFrom': 1598659200,
'validTo': 1630238400},
'securityState': 'secure',
'status': 200,
'statusText': '',
'timing': {'connectEnd': -1,
'connectStart': -1,
'dnsEnd': -1,
'dnsStart': -1,
'proxyEnd': -1,
'proxyStart': -1,
'pushEnd': 0,
'pushStart': 0,
'receiveHeadersEnd': 78.885,
'requestTime': 190011.107975,
'sendEnd': 27.934,
'sendStart': 27.809,
'sslEnd': -1,
'sslStart': -1,
'workerFetchStart': -1,
'workerReady': -1,
'workerRespondWithSettled': -1,
'workerStart': -1},
'url': 'https://nowsecure.nl/cdn-cgi/challenge-platform/h/b/orchestrate/jsch/v1?ray=65444b779ae6546f'},
'timestamp': 190011.188468,
'type': 'Script'}}
{'method': 'Network.dataReceived',
'params': {'dataLength': 31556,
'encodedDataLength': 0,
'requestId': '17180.2',
'timestamp': 190011.188663}}
{'method': 'Network.dataReceived',
'params': {'dataLength': 6737,
'encodedDataLength': 11251,
'requestId': '17180.2',
'timestamp': 190011.198249}}
{'method': 'Network.dataReceived',
'params': {'dataLength': 0,
'encodedDataLength': 2049,
'requestId': '17180.2',
'timestamp': 190011.200943}}
{'method': 'Network.loadingFinished',
'params': {'encodedDataLength': 13810,
'requestId': '17180.2',
'shouldReportCorbBlocking': False,
'timestamp': 190011.198142}}
{'method': 'Page.loadEventFired', 'params': {'timestamp': 190011.204711}}
{'method': 'Page.frameScheduledNavigation',
'params': {'delay': 12,
'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'reason': 'metaTagRefresh',
'url': 'https://nowsecure.nl/'}}
{'method': 'Page.frameStoppedLoading',
'params': {'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700'}}
{'method': 'Network.requestWillBeSent',
'params': {'documentURL': 'https://nowsecure.nl/',
'frameId': 'F42BAE4BDD4E428EE2503CB5A7B4F700',
'hasUserGesture': False,
'initiator': {'type': 'other'},
'loaderId': '449906A5C736D819123288133F2797E6',
'request': {'headers': {'Referer': 'https://nowsecure.nl/',
'User-Agent': 'Mozilla/5.0 (Windows NT '
'10.0; Win64; x64) '
'AppleWebKit/537.36 (KHTML, '
'like Gecko) '
'Chrome/90.0.4430.212 '
'Safari/537.36',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0'},
'initialPriority': 'High',
'method': 'GET',
'mixedContentType': 'none',
'referrerPolicy': 'strict-origin-when-cross-origin',
'url': 'https://nowsecure.nl/favicon.ico'},
'requestId': '17180.5',
'timestamp': 190011.210491,
'type': 'Other',
'wallTime': 1621835932.325683}}
{'method': 'Network.requestWillBeSentExtraInfo',
'params': {'associatedCookies': [{'blockedReasons': [],
'cookie': {'domain': 'nowsecure.nl',
'expires': 1621839532,
'httpOnly': False,
'name': 'cf_chl_prog',
'path': '/',
'priority': 'Medium',
'sameParty': False,
'secure': False,
'session': False,
'size': 12,
'sourcePort': 443,
'sourceScheme': 'Secure',
'value': 'e'}}],
'clientSecurityState': {'initiatorIPAddressSpace': 'Public',
'initiatorIsSecureContext': True,
'privateNetworkRequestPolicy': 'WarnFromInsecureToMorePrivate'},
'headers': {':authority': 'nowsecure.nl',
':method': 'GET',
':path': '/favicon.ico',
':scheme': 'https',
'accept': 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'en-US,en;q=0.9',
'cookie': 'cf_chl_prog=e',
'referer': 'https://nowsecure.nl/',
'sec-ch-ua': '" Not A;Brand";v="99", '
'"Chromium";v="90", "Google '
'Chrome";v="90"',
'sec-ch-ua-mobile': '?0',
'sec-fetch-dest': 'image',
'sec-fetch-mode': 'no-cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; '
'x64) AppleWebKit/537.36 (KHTML, like '
'Gecko) Chrome/90.0.4430.212 '
'Safari/537.36'},# 希望你能明白这个意思。```
<br>
<br>
#### the easy way (v1 old stuff) ####
```python
import undetected_chromedriver as uc
driver = uc.Chrome()
driver.get( 'https://distilnetworks.com' )```
#### target specific chrome version (v1 old stuff) ####
```python
import undetected_chromedriver as uc
uc.TARGET_VERSION = 85
driver = uc.Chrome()```
#### monkeypatch mode (v1 old stuff) ####
Needs to be done before importing from selenium package
```python
import undetected_chromedriver as uc
uc.install()
from selenium.webdriver import Chrome
driver = Chrome()
driver.get( 'https://distilnetworks.com' )```
#### the customized way (v1 old stuff) ####
```python
import undetected_chromedriver as uc
# specify chromedriver version to download and patch
uc.TARGET_VERSION = 78
# or specify your own chromedriver binary (why you would need this, i don't know)
uc.install(
executable_path = 'c:/users/user1/chromedriver.exe' ,
)
opts = uc.ChromeOptions()
opts.add_argument( f'--proxy-server=socks5://127.0.0.1:9050' )
driver = uc.Chrome( options = opts )
driver.get( 'https://distilnetworks.com' )```
#### datadome.co example (v1 old stuff) ####
These guys have actually a powerful product, and a link to this repo, which makes me wanna test their product. Make sure you use a "clean"ip
for this one.
```python
#
# STANDARD selenium Chromedriver
#
from selenium import webdriver
chrome = webdriver.Chrome()
chrome.get( 'https://datadome.co/customers-stories/toppreise-ends-web-scraping-and-content-theft-with-datadome/' )
chrome.save_screenshot( 'datadome_regular_webdriver.png' )
True # it caused my ip to be flagged, unfortunately
#
# UNDETECTED chromedriver (headless,even)
#
import undetected_chromedriver as uc
options = uc.ChromeOptions()
options.headless = True
options.add_argument( '--headless' )
chrome = uc.Chrome( options = options )
chrome.get( 'https://datadome.co/customers-stories/toppreise-ends-web-scraping-and-content-theft-with-datadome/' )
chrome.save_screenshot( 'datadome_undetected_webddriver.png' )```
**Check both saved screenhots [here](https://imgur.com/a/fEmqadP)**