()
| 58 | |
| 59 | |
| 60 | async def crawl(): |
| 61 | driver = await cdp_driver.start_async() |
| 62 | tab = await driver.get("about:blank") |
| 63 | listenXHR(tab) |
| 64 | |
| 65 | # Change url to something that makes ajax requests |
| 66 | tab = await driver.get("https://learn.microsoft.com/en-us/") |
| 67 | time.sleep(1.5) |
| 68 | for i in range(18): |
| 69 | await tab.scroll_down(3) |
| 70 | time.sleep(0.02) |
| 71 | |
| 72 | xhr_responses = await receiveXHR(tab, xhr_requests) |
| 73 | for response in xhr_responses: |
| 74 | print(c1 + "*** ==> XHR Request URL <== ***" + cr) |
| 75 | print(f'{response["url"]}') |
| 76 | is_base64 = response["is_base64"] |
| 77 | b64_data = "Base64 encoded data" |
| 78 | try: |
| 79 | headers = ast.literal_eval(response["body"])["headers"] |
| 80 | print(c2 + "*** ==> XHR Response Headers <== ***" + cr) |
| 81 | print(headers if not is_base64 else b64_data) |
| 82 | except Exception: |
| 83 | response_body = response["body"] |
| 84 | print(c2 + "*** ==> XHR Response Body <== ***" + cr) |
| 85 | print(response_body if not is_base64 else b64_data) |
| 86 | |
| 87 | |
| 88 | if __name__ == "__main__": |
no test coverage detected
searching dependent graphs…