From afc220b61f9ae5b4ebf6cf7af132b52c11d299df Mon Sep 17 00:00:00 2001 From: Neyberson Date: Thu, 8 Aug 2024 14:35:42 -0500 Subject: [PATCH 01/15] Delete some imports at app_devtools.py --- app/app_devtools.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/app_devtools.py b/app/app_devtools.py index 4bbe83d4..d6282241 100644 --- a/app/app_devtools.py +++ b/app/app_devtools.py @@ -1,6 +1,4 @@ import devtools -import os -from pathlib import Path r1 = { "id": 0, From 21acb72d7282da8d12214fe097c0d369636b8a78 Mon Sep 17 00:00:00 2001 From: Neyberson Date: Thu, 8 Aug 2024 14:37:47 -0500 Subject: [PATCH 02/15] Delete useless keys and values at some variables from app_devtools.py --- app/app_devtools.py | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/app/app_devtools.py b/app/app_devtools.py index d6282241..6f624629 100644 --- a/app/app_devtools.py +++ b/app/app_devtools.py @@ -1,7 +1,6 @@ import devtools r1 = { - "id": 0, "method": "Browser.setDownloadBehavior", "params": { "behavior": "allowAndName", @@ -9,22 +8,18 @@ "eventsEnabled": True, }, } -r2 = {"id": 1, "method": "Target.getTargets"} +r2 = {"method": "Target.getTargets"} r3 = { - "id": 2, "method": "Target.createTarget", "params": {"url": "file://'+str(cwd / test.html)+'"}, } r4 = { - "id": 3, "method": "Target.attachToTarget", "params": {"flatten": True, "targetId": "+tId+"}, } -r5 = {"sessionId": "+sId+", "id": 0, "method": "Page.enable"} -r6 = {"sessionId": "+sId+", "id": 2, "method": "Page.reload"} +r5 = {"method": "Page.enable"} +r6 = {"method": "Page.reload"} r7 = { - "sessionId": "+sId+", - "id": 3, "method": "Browser.setDownloadBehavior", "params": { "behavior": "allow", @@ -33,8 +28,6 @@ }, } r8 = { - "sessionId": "+sId+", - "id": 13, "method": "Page.setDownloadBehavior", "params": { "behavior": "allow", @@ -43,23 +36,17 @@ }, } r9 = { - "sessionId": "+sId+", - "id": 23, "method": "Page.setInterceptFileChooserDialog", "params": {"enabled": True}, } -r10 = {"sessionId": "+sId+", "id": 4, "method": "Runtime.enable"} +r10 = {"method": "Runtime.enable"} r11 = { - "sessionId": "+sId+", - "id": 5, "method": "Runtime.compileScript", "params": { "expression": "console.log(document.getElementsByTagName(\\'body\\')[0].innerHTML); 10; let goose = document.getElementById(\\'agoose2\\'); goose.download=\\'goose.jpg\\';goose.click();', 'sourceURL':'+str( cwd / 'test.html' )+', 'persistScript':true" }, } r12 = { - "sessionId": "+sId+", - "id": 6, "method": "Runtime.runScript", "params": {"scriptId": "+scriptId+"}, } From 0c88c3b21b089b63097f22cdb762e17242124bde Mon Sep 17 00:00:00 2001 From: Neyberson Date: Thu, 8 Aug 2024 14:48:13 -0500 Subject: [PATCH 03/15] Change some string values at app_devtools.py --- app/app_devtools.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/app/app_devtools.py b/app/app_devtools.py index 6f624629..26f4044d 100644 --- a/app/app_devtools.py +++ b/app/app_devtools.py @@ -4,18 +4,18 @@ "method": "Browser.setDownloadBehavior", "params": { "behavior": "allowAndName", - "downloadPath": "'+str(cwd)+'", + "downloadPath": "str(cwd)", "eventsEnabled": True, }, } r2 = {"method": "Target.getTargets"} r3 = { "method": "Target.createTarget", - "params": {"url": "file://'+str(cwd / test.html)+'"}, + "params": {"url": "file://str(cwd / test.html)"}, } r4 = { "method": "Target.attachToTarget", - "params": {"flatten": True, "targetId": "+tId+"}, + "params": {"flatten": True, "targetId": "tId"}, } r5 = {"method": "Page.enable"} r6 = {"method": "Page.reload"} @@ -23,7 +23,7 @@ "method": "Browser.setDownloadBehavior", "params": { "behavior": "allow", - "downloadPath": "'+str(cwd)+'", + "downloadPath": "str(cwd)", "eventsEnabled": True, }, } @@ -31,7 +31,7 @@ "method": "Page.setDownloadBehavior", "params": { "behavior": "allow", - "downloadPath": "'+str(cwd)+'", + "downloadPath": "str(cwd)", "eventsEnabled": True, }, } @@ -43,12 +43,12 @@ r11 = { "method": "Runtime.compileScript", "params": { - "expression": "console.log(document.getElementsByTagName(\\'body\\')[0].innerHTML); 10; let goose = document.getElementById(\\'agoose2\\'); goose.download=\\'goose.jpg\\';goose.click();', 'sourceURL':'+str( cwd / 'test.html' )+', 'persistScript':true" + "expression": "console.log(document.getElementsByTagName(\\'body\\')[0].innerHTML); 10; let goose = document.getElementById(\\'agoose2\\'); goose.download=\\'goose.jpg\\';goose.click();', 'sourceURL':'str( cwd / 'test.html' )', 'persistScript':true" }, } r12 = { "method": "Runtime.runScript", - "params": {"scriptId": "+scriptId+"}, + "params": {"scriptId": "scriptId"}, } From 57c589bbeb51768f594769b08764e88fb083ede0 Mon Sep 17 00:00:00 2001 From: Neyberson Date: Thu, 8 Aug 2024 14:50:47 -0500 Subject: [PATCH 04/15] Delete some prints and mix list_r_session_id values into list_r from app_devtools.py --- app/app_devtools.py | 28 +--------------------------- 1 file changed, 1 insertion(+), 27 deletions(-) diff --git a/app/app_devtools.py b/app/app_devtools.py index 26f4044d..0c2fba01 100644 --- a/app/app_devtools.py +++ b/app/app_devtools.py @@ -52,34 +52,8 @@ } -list_r = [r1, r3, r4] -list_r_session_id = [r7, r8, r9, r11, r12] +list_r = [r1, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12] session_1 = devtools.Session() for r in list_r: print(session_1.send_command(command=r["method"], params=r["params"])) - -print(session_1.send_command(command=r2["method"], params=None)) - -print( - devtools.Session(str(r5["sessionId"])).send_command( - command=r5["method"], params=None - ) -) -print( - devtools.Session(str(r6["sessionId"])).send_command( - command=r6["method"], params=None - ) -) -print( - devtools.Session(str(r10["sessionId"])).send_command( - command=r10["method"], params=None - ) -) - -for r in list_r_session_id: - print( - devtools.Session(str(r["sessionId"])).send_command( - command=r["method"], params=r["params"] - ) - ) From cc7b96eaf77afccb52b7e4f7fb136057781214ad Mon Sep 17 00:00:00 2001 From: Neyberson Date: Thu, 8 Aug 2024 14:58:09 -0500 Subject: [PATCH 05/15] Add Connection object and change print at app_devtools.py --- app/app_devtools.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/app_devtools.py b/app/app_devtools.py index 0c2fba01..3bd290bf 100644 --- a/app/app_devtools.py +++ b/app/app_devtools.py @@ -54,6 +54,10 @@ list_r = [r1, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12] -session_1 = devtools.Session() + +browser = devtools.Connection() + +browser.list_tabs() + for r in list_r: - print(session_1.send_command(command=r["method"], params=r["params"])) + print(browser.browser_session.send_command(command=r["method"], params=r["params"])) From 0428e15b0adde90294ce57fb3dadcb59065a38ec Mon Sep 17 00:00:00 2001 From: Neyberson Date: Thu, 8 Aug 2024 15:00:22 -0500 Subject: [PATCH 06/15] Improve print loop using conditionals at app_devtools.py --- app/app_devtools.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/app_devtools.py b/app/app_devtools.py index 3bd290bf..eb32a870 100644 --- a/app/app_devtools.py +++ b/app/app_devtools.py @@ -60,4 +60,7 @@ browser.list_tabs() for r in list_r: - print(browser.browser_session.send_command(command=r["method"], params=r["params"])) + if "params" in r.keys(): + print(browser.browser_session.send_command(command=r["method"], params=r["params"])) + else: + print(browser.browser_session.send_command(command=r["method"], params=None)) \ No newline at end of file From 53001edefabd307cf234c4e3dddcff345b176434 Mon Sep 17 00:00:00 2001 From: Neyberson Date: Thu, 8 Aug 2024 15:03:42 -0500 Subject: [PATCH 07/15] Add some comments at app_devtools.py --- app/app_devtools.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/app_devtools.py b/app/app_devtools.py index eb32a870..d06520d1 100644 --- a/app/app_devtools.py +++ b/app/app_devtools.py @@ -1,5 +1,6 @@ import devtools +## Create Variables r1 = { "method": "Browser.setDownloadBehavior", "params": { @@ -54,11 +55,12 @@ list_r = [r1, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12] - +## Create Connection browser = devtools.Connection() browser.list_tabs() +## Print Commands for r in list_r: if "params" in r.keys(): print(browser.browser_session.send_command(command=r["method"], params=r["params"])) From 1746f92459b1adce6d53f090986227761e581d7c Mon Sep 17 00:00:00 2001 From: Neyberson Date: Thu, 8 Aug 2024 15:04:06 -0500 Subject: [PATCH 08/15] Format code at app_devtools.py --- app/app_devtools.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/app_devtools.py b/app/app_devtools.py index d06520d1..ac504058 100644 --- a/app/app_devtools.py +++ b/app/app_devtools.py @@ -63,6 +63,10 @@ ## Print Commands for r in list_r: if "params" in r.keys(): - print(browser.browser_session.send_command(command=r["method"], params=r["params"])) + print( + browser.browser_session.send_command( + command=r["method"], params=r["params"] + ) + ) else: - print(browser.browser_session.send_command(command=r["method"], params=None)) \ No newline at end of file + print(browser.browser_session.send_command(command=r["method"], params=None)) From baccf7f93765f12a2c63899408f7a7117443c58a Mon Sep 17 00:00:00 2001 From: Neyberson Date: Thu, 8 Aug 2024 15:05:10 -0500 Subject: [PATCH 09/15] Lint code at app_devtools.py --- app/app_devtools.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/app_devtools.py b/app/app_devtools.py index ac504058..2c93ffa2 100644 --- a/app/app_devtools.py +++ b/app/app_devtools.py @@ -52,12 +52,10 @@ "params": {"scriptId": "scriptId"}, } - list_r = [r1, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12] ## Create Connection browser = devtools.Connection() - browser.list_tabs() ## Print Commands From 41bde7594fb51d7d41f55476d6b04776b7ef322f Mon Sep 17 00:00:00 2001 From: Neyberson Date: Thu, 8 Aug 2024 15:25:40 -0500 Subject: [PATCH 10/15] Add default value to params attribute at Session class --- devtools/session.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devtools/session.py b/devtools/session.py index c2751ea0..c539dad2 100644 --- a/devtools/session.py +++ b/devtools/session.py @@ -13,7 +13,7 @@ def __init__(self, parent, session_id=""): self.message_id = 0 self.parent_connection = parent - def send_command(self, command, params, cb=None): + def send_command(self, command, params=None, cb=None): if cb and not callable(cb): raise TypeError("The arg that you use, is not able at cb") if not isinstance(command, str): From f5c87c892272e60d114dafd074d3da970774904f Mon Sep 17 00:00:00 2001 From: Neyberson Date: Thu, 8 Aug 2024 15:35:03 -0500 Subject: [PATCH 11/15] Change json_command dictionary and add conditional to add params at send_command() --- devtools/session.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/devtools/session.py b/devtools/session.py index c539dad2..3038c732 100644 --- a/devtools/session.py +++ b/devtools/session.py @@ -25,9 +25,11 @@ def send_command(self, command, params=None, cb=None): json_command = { "id": self.message_id, "method": command, - "params": params, } + if params: + json_command["params"] = params + if self.session_id != "": json_command["session_id"] = self.session_id From df9492b587d3575604750f545a43cd1ca71f73bc Mon Sep 17 00:00:00 2001 From: Neyberson Date: Thu, 8 Aug 2024 15:50:03 -0500 Subject: [PATCH 12/15] Create send_command method at Connection class --- devtools/connection.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/devtools/connection.py b/devtools/connection.py index 59b638e9..4113d8d3 100644 --- a/devtools/connection.py +++ b/devtools/connection.py @@ -25,3 +25,6 @@ def list_tabs(self): def close_tab(self, session_obj): del self.tab_sessions[id(session_obj)] print(f"The following session was deleted: {session_obj.session_id}") + + def send_command(self, command, params=None, cb=None): + return self.browser_session.send_command(self, command, params, cb) From e5e5b3507f412ce63c2379838b0fd60abace20ce Mon Sep 17 00:00:00 2001 From: Neyberson Date: Thu, 8 Aug 2024 16:05:13 -0500 Subject: [PATCH 13/15] Simplify loop at app_devtools.py --- app/app_devtools.py | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/app/app_devtools.py b/app/app_devtools.py index 2c93ffa2..2dfd5652 100644 --- a/app/app_devtools.py +++ b/app/app_devtools.py @@ -60,11 +60,4 @@ ## Print Commands for r in list_r: - if "params" in r.keys(): - print( - browser.browser_session.send_command( - command=r["method"], params=r["params"] - ) - ) - else: - print(browser.browser_session.send_command(command=r["method"], params=None)) + print(browser.browser_session.send_command(command=r["method"], params=r["params"] if "params" in r else None)) From 9e0b25544aeafea0a182fc8f28cbf3735951ad2f Mon Sep 17 00:00:00 2001 From: Neyberson Date: Thu, 8 Aug 2024 16:05:41 -0500 Subject: [PATCH 14/15] Format code at app_devtools.py --- app/app_devtools.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/app_devtools.py b/app/app_devtools.py index 2dfd5652..44ddbdc9 100644 --- a/app/app_devtools.py +++ b/app/app_devtools.py @@ -60,4 +60,8 @@ ## Print Commands for r in list_r: - print(browser.browser_session.send_command(command=r["method"], params=r["params"] if "params" in r else None)) + print( + browser.browser_session.send_command( + command=r["method"], params=r["params"] if "params" in r else None + ) + ) From 22921052d91771edd924dc73ea673457c0e4c64a Mon Sep 17 00:00:00 2001 From: Neyberson Date: Thu, 8 Aug 2024 16:07:59 -0500 Subject: [PATCH 15/15] Add ruff ignore at pyproject.toml --- pyproject.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index b2d1d898..5123b0bd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,3 +15,6 @@ version = "0.0.1" dev = [ "pytest", ] + +[tool.ruff.lint] +ignore = ["E701"]