From a0dbaea00f5480973321277d61fba530ce90da21 Mon Sep 17 00:00:00 2001 From: NaiboWang-Alienware Date: Thu, 6 Jul 2023 03:44:05 +0800 Subject: [PATCH] Get and replace cookie --- ElectronJS/EasySpider_en.crx | Bin 204813 -> 204811 bytes ElectronJS/EasySpider_zh.crx | Bin 204813 -> 204811 bytes ElectronJS/main.js | 12 ++++++++++- ElectronJS/src/taskGrid/FlowChart_CN.html | 17 ++++++++++++++++ ElectronJS/src/taskGrid/FlowChart_CN.js | 13 ++++++++++-- ElectronJS/src/taskGrid/logic.js | 2 +- ElectronJS/src/taskGrid/logic_CN.js | 19 ++++++++++++++---- ElectronJS/tasks/141.json | 1 + ElectronJS/tasks/142.json | 1 + ExecuteStage/.vscode/launch.json | 2 +- ExecuteStage/easyspider_executestage.py | 14 ++++++++++++- ExecuteStage/utils.py | 1 + .../src/content-scripts/messageInteraction.js | 2 +- 13 files changed, 73 insertions(+), 11 deletions(-) create mode 100644 ElectronJS/tasks/141.json create mode 100644 ElectronJS/tasks/142.json diff --git a/ElectronJS/EasySpider_en.crx b/ElectronJS/EasySpider_en.crx index 7d1a530d926b78781508667cd993327bec42e198..362585f8e52f21f4a33ef638b1808ce21430665f 100644 GIT binary patch delta 3535 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 delta 3570 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 N!D6%>Jb$O4{{YrbnP&h1 diff --git a/ElectronJS/main.js b/ElectronJS/main.js index f62e5d0b..0b0c343f 100644 --- a/ElectronJS/main.js +++ b/ElectronJS/main.js @@ -333,7 +333,17 @@ async function beginInvoke(msg, ws) { try{ flowchart_window.openDevTools(); } catch { - + console.log("open devtools error"); + } + } else if (msg.type == 7) { + // 获得当前页面Cookies + try{ + let cookies = await driver.manage().getCookies(); + console.log("Cookies: ", cookies); + let cookiesText = cookies.map(cookie => `${cookie.name}=${cookie.value}`).join('\n'); + socket_flowchart.send(JSON.stringify({"type": "GetCookies", "message": cookiesText})); + } catch { + console.log("Cannot get Cookies"); } } } diff --git a/ElectronJS/src/taskGrid/FlowChart_CN.html b/ElectronJS/src/taskGrid/FlowChart_CN.html index cbfe6650..9f0594cc 100644 --- a/ElectronJS/src/taskGrid/FlowChart_CN.html +++ b/ElectronJS/src/taskGrid/FlowChart_CN.html @@ -116,6 +116,23 @@ + +

+ +

+
+
+ +

+ 点击获取当前页面Cookie +

+ +
+
+
diff --git a/ElectronJS/src/taskGrid/FlowChart_CN.js b/ElectronJS/src/taskGrid/FlowChart_CN.js index 16868512..d4ba72e7 100644 --- a/ElectronJS/src/taskGrid/FlowChart_CN.js +++ b/ElectronJS/src/taskGrid/FlowChart_CN.js @@ -87,6 +87,15 @@ let app = new Vue({ }, }, methods: { + getCookies: function() { //获取cookies + let command = new WebSocket("ws://localhost:"+getUrlParam("wsport")) + command.onopen = function() { + let message = { + type: 7, //消息类型,0代表连接操作 + }; + this.send(JSON.stringify(message)); + }; + }, changeXPaths: function (XPaths){ let result = ""; for (let i = 0; i < XPaths.length; i++) { @@ -588,7 +597,7 @@ document.onkeydown = function(e) { location.reload(); } else if (currKey == 123) { console.log("打开devtools") - let command = new WebSocket("ws://localhost:8084") + let command = new WebSocket("ws://localhost:"+getUrlParam("wsport")) command.onopen = function() { let message = { type: 6, //消息类型,0代表连接操作 @@ -604,4 +613,4 @@ function inputDelete(e) { e.stopPropagation(); //输入框按delete应该正常运行 //Electron中如果有alert或者confirm,执行后会卡死输入框,所以最好不要用 } -} \ No newline at end of file +} diff --git a/ElectronJS/src/taskGrid/logic.js b/ElectronJS/src/taskGrid/logic.js index b8bd79f7..74bd5902 100644 --- a/ElectronJS/src/taskGrid/logic.js +++ b/ElectronJS/src/taskGrid/logic.js @@ -66,7 +66,7 @@ function handleAddElement(msg) { addElement(1, msg); } else if (msg["type"] == "singleClick") { addElement(2, msg); - } else if (msg["type"] == "InputText") { + } else if (msg["type"] == "inputText") { addElement(4, msg); } else if (msg["type"] == "changeOption"){ addElement(6, msg); diff --git a/ElectronJS/src/taskGrid/logic_CN.js b/ElectronJS/src/taskGrid/logic_CN.js index e3c47dd2..6c1816db 100644 --- a/ElectronJS/src/taskGrid/logic_CN.js +++ b/ElectronJS/src/taskGrid/logic_CN.js @@ -65,7 +65,7 @@ function handleAddElement(msg) { addElement(1, msg); } else if (msg["type"] == "singleClick") { addElement(2, msg); - } else if (msg["type"] == "InputText") { + } else if (msg["type"] == "inputText") { addElement(4, msg); } else if (msg["type"] == "changeOption"){ addElement(6, msg); @@ -96,6 +96,14 @@ function handleAddElement(msg) { addElement(8, msg); addElement(3, msg); notifyParameterNum(msg["parameters"].length); //通知浏览器端参数的个数变化 + } else if(msg["type"] == "GetCookies"){ + for(let node of nodeList){ + if(node["option"] == 1){ + node["parameters"]["cookies"] = msg["message"]; + $("#pageCookies").val(msg["message"]); + break; + } + } } } @@ -156,6 +164,7 @@ function addParameters(t) { t["parameters"]["scrollType"] = 0; //滚动类型,0不滚动,1向下滚动1屏,2滚动到底部 t["parameters"]["scrollCount"] = 1; //滚动次数 t["parameters"]["scrollWaitTime"] = 1; //滚动后等待时间 + t["parameters"]["cookies"] = ""; //cookies } else if (t.option == 2) { //点击元素 t["parameters"]["scrollType"] = 0; //滚动类型,0不滚动,1向下滚动1屏,2滚动到底部 t["parameters"]["scrollCount"] = 1; //滚动次数 @@ -254,8 +263,7 @@ function modifyParameters(t, para) { } } -//点击确定按钮时的处理 -$("#confirm").mousedown(function() { +function updateUI() { refresh(false); app.$data.nowArrow["num"]++; //改变元素的值,通知画图,重新对锚点画图 let tnodes = document.getElementsByClassName("clk"); @@ -268,7 +276,10 @@ $("#confirm").mousedown(function() { break; } } -}); +} + +//点击确定按钮时的处理 +$("#confirm").mousedown(updateUI); //获取url中的参数 function getUrlParam(name) { diff --git a/ElectronJS/tasks/141.json b/ElectronJS/tasks/141.json new file mode 100644 index 00000000..bfc89201 --- /dev/null +++ b/ElectronJS/tasks/141.json @@ -0,0 +1 @@ +{"id":141,"name":"京东全球版-专业的综合网上购物商城","url":"https://www.jd.com","links":"https://www.jd.com","create_time":"7/5/2023, 11:13:03 PM","version":"0.3.5","saveThreshold":10,"cloudflare":0,"environment":0,"containJudge":false,"desc":"https://www.jd.com","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://www.jd.com","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"https://www.jd.com"}],"outputParameters":[{"id":0,"name":"参数1_文本","desc":"","type":"string","exampleValue":"/手机/数码"}],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2],"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0},"isInLoop":false},{"id":1,"index":1,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":0,"parameters":{"useLoop":false,"xpath":"","wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"https://www.jd.com","links":"https://www.jd.com","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"cookies":"ipLoc-djd=53283-53456-0-0; areaId=53283; mba_sid=16885699655799419528717331774.0; __jdc=122270672; 3AB9D23F7A4B3C9B=3EHIRO46HKXUNNSA7AFBSLZLZ6ICUQG3NUT5VTWFZFUBTRI5ZUXV6XM5CYB5VWCYC6YLWOOIUQAUILWMLGTQWCRMBA; __jdb=122270672.1.16885699655751091362768|1.1688569965; mba_muid=16885699655751091362768; __jdv=122270672%7Clocalhost%3A8074%7C-%7Creferral%7C-%7C1688569965576; __jda=122270672.16885699655751091362768.1688569965.1688569965.1688569965.1"}},{"id":2,"index":2,"parentId":0,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"paras":[{"nodeType":0,"contentType":0,"relative":false,"name":"参数1_文本","desc":"","extractType":0,"relativeXPath":"/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]","allXPaths":["/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]","//div[contains(., '/手机/数码')]","//DIV[@class='LeftSide_menu_item__SBMWC LeftSide_text_space__2UhbG LeftSide_menu_hover__OCHiO']","/html/body/div[last()-5]/div/div[last()-4]/div/div[last()-2]/div/div/div/div[last()-1]/div[last()-12]"],"exampleValues":[{"num":0,"value":"/手机/数码"}],"unique_index":"wm0dfnp2tjeljpuyon0","iframe":false,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0}]}}]} \ No newline at end of file diff --git a/ElectronJS/tasks/142.json b/ElectronJS/tasks/142.json new file mode 100644 index 00000000..5bcd87f2 --- /dev/null +++ b/ElectronJS/tasks/142.json @@ -0,0 +1 @@ +{"id":142,"name":"京东全球版-专业的综合网上购物商城","url":"https://www.jd.com","links":"https://www.jd.com","create_time":"7/6/2023, 3:38:35 AM","version":"0.3.5","saveThreshold":10,"cloudflare":0,"environment":0,"containJudge":false,"desc":"https://www.jd.com","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://www.jd.com","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"https://www.jd.com"}],"outputParameters":[{"id":0,"name":"参数1_文本","desc":"","type":"string","exampleValue":"/手机/数码"}],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2],"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0},"isInLoop":false},{"id":1,"index":1,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":0,"parameters":{"useLoop":false,"xpath":"","wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"https://www.jd.com","links":"https://www.jd.com","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"cookies":"test=123\nipLoc-djd=53283-53456-0-0\nareaId=53283\nmba_sid=16885856346417163685425076773.0\n__jdc=122270672\n__jdb=122270672.1.16885856346381587112207|1.1688585634\nmba_muid=16885856346381587112207\n__jdv=122270672%7Clocalhost%3A8074%7C-%7Creferral%7C-%7C1688585634639\n__jda=122270672.16885856346381587112207.1688585634.1688585634.1688585634.1"}},{"id":2,"index":2,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[3],"isInLoop":false,"position":1,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":["/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]","//div[contains(., '/手机/数码')]","//DIV[@class='LeftSide_menu_item__SBMWC LeftSide_text_space__2UhbG ']","/html/body/div[last()-5]/div/div[last()-4]/div/div[last()-2]/div/div/div/div[last()-1]/div[last()-12]"]}},{"id":3,"index":3,"parentId":2,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"paras":[{"nodeType":0,"contentType":0,"relative":true,"name":"参数1_文本","desc":"","extractType":0,"relativeXPath":"","allXPaths":"","exampleValues":[{"num":0,"value":"/手机/数码"}],"unique_index":"p2h2i1dva8ljq4aje2","iframe":false,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0}],"loopType":1}}]} \ No newline at end of file diff --git a/ExecuteStage/.vscode/launch.json b/ExecuteStage/.vscode/launch.json index 504b2db2..136962bf 100644 --- a/ExecuteStage/.vscode/launch.json +++ b/ExecuteStage/.vscode/launch.json @@ -10,7 +10,7 @@ "program": "${file}", "console": "integratedTerminal", "justMyCode": true, - "args": ["--id", "[1]", "--read_type", "remote", "--headless", "0"] + "args": ["--id", "[3]", "--read_type", "remote", "--headless", "0"] // "args": ["--id", "[2]", "--read_type", "remote", "--headless", "0", "--saved_file_name", "YOUTUBE"] // "args": ["--id", "[44]", "--headless", "0", "--user_data", "1"] } diff --git a/ExecuteStage/easyspider_executestage.py b/ExecuteStage/easyspider_executestage.py index 87515f5b..8c3e6399 100644 --- a/ExecuteStage/easyspider_executestage.py +++ b/ExecuteStage/easyspider_executestage.py @@ -114,6 +114,11 @@ def preprocess(self): iframe = node["parameters"]["iframe"] except: node["parameters"]["iframe"] = False + if node["option"] == 1: # 打开网页操作 + try: + cookies = node["parameters"]["cookies"] + except: + node["parameters"]["cookies"] = "" if node["option"] == 3: # 提取数据操作 paras = node["parameters"]["paras"] for para in paras: @@ -705,6 +710,14 @@ def openPage(self, para, loopValue): self.browser.set_page_load_timeout(maxWaitTime) # 加载页面最大超时时间 self.browser.set_script_timeout(maxWaitTime) self.browser.get(url) + if para["cookies"] != "": + self.browser.delete_all_cookies() # 清除所有已有cookie + cookies = para["cookies"].split('\n') + for cookie in cookies: + name, value = cookie.split('=', 1) + cookie_dict = {'name': name, 'value': value} + # 加载 cookie + self.browser.add_cookie(cookie_dict) self.Log('Loading page: ' + url) self.recordLog('Loading page: ' + url) except TimeoutException: @@ -1001,7 +1014,6 @@ def get_content(self, p, element): return content # 提取数据事件 - def getData(self, para, loopElement, isInLoop=True, parentPath="", index=0): pageHTML = etree.HTML(self.browser.page_source) if loopElement != "": # 只在数据在循环中提取时才需要获取循环元素 diff --git a/ExecuteStage/utils.py b/ExecuteStage/utils.py index f6b34b8e..895939a0 100644 --- a/ExecuteStage/utils.py +++ b/ExecuteStage/utils.py @@ -71,6 +71,7 @@ def isnull(s): return len(s) != 0 + class Time: def __init__(self, type1=""): self.t = int(round(time.time() * 1000)) diff --git a/Extension/manifest_v3/src/content-scripts/messageInteraction.js b/Extension/manifest_v3/src/content-scripts/messageInteraction.js index f161910c..2d10282e 100644 --- a/Extension/manifest_v3/src/content-scripts/messageInteraction.js +++ b/Extension/manifest_v3/src/content-scripts/messageInteraction.js @@ -31,7 +31,7 @@ global.ws.onopen = function() { export function input(value) { let message = { - "type": "InputText", + "type": "inputText", "history": history.length, //记录history的长度 "tabIndex": -1, "xpath": readXPath(global.nodeList[0]["node"], 0),