From 4b276d47c15ab27f9fcd1771923fc4b36ef292d1 Mon Sep 17 00:00:00 2001 From: naibo Date: Sun, 21 May 2023 20:24:58 +0800 Subject: [PATCH] Break inside every loop --- ElectronJS/README.md | 2 +- ElectronJS/src/taskGrid/FlowChart_CN.html | 19 +- ElectronJS/src/taskGrid/FlowChart_CN.js | 3 +- ElectronJS/src/taskGrid/logic_CN.js | 14 ++ ElectronJS/src/taskGrid/taskList.html | 2 +- ElectronJS/tasks/60.json | 215 ++++++++++++++++++ ElectronJS/tasks/61.json | 1 + ElectronJS/tasks/62.json | 1 + ElectronJS/tasks/63.json | 1 + ElectronJS/每次发布之前要检查的事项.md | 3 + ExecuteStage/.vscode/launch.json | 2 +- ExecuteStage/easyspider_executestage.py | 43 +++- Extension/manifest_v3/package.json | 1 + .../execution_instances/0.json | 1 - .../execution_instances/1.json | 1 - .../execution_instances/2.json | 1 - .../execution_instances/3.json | 1 - .../execution_instances/4.json | 1 - 18 files changed, 293 insertions(+), 19 deletions(-) create mode 100644 ElectronJS/tasks/60.json create mode 100644 ElectronJS/tasks/61.json create mode 100644 ElectronJS/tasks/62.json create mode 100644 ElectronJS/tasks/63.json create mode 100644 ElectronJS/每次发布之前要检查的事项.md delete mode 100644 Releases/EasySpider_windows_amd64/execution_instances/0.json delete mode 100644 Releases/EasySpider_windows_amd64/execution_instances/1.json delete mode 100644 Releases/EasySpider_windows_amd64/execution_instances/2.json delete mode 100644 Releases/EasySpider_windows_amd64/execution_instances/3.json delete mode 100644 Releases/EasySpider_windows_amd64/execution_instances/4.json diff --git a/ElectronJS/README.md b/ElectronJS/README.md index 0c959a3..32a8fb3 100644 --- a/ElectronJS/README.md +++ b/ElectronJS/README.md @@ -25,7 +25,7 @@ chromedriver_mac64 # for mac x64 For example, if you want to build this software on Windows x64 platform, then you should first download a chrome for windows x64, then copy the whole `chrome` folder to this `ElectronJS` folder and rename the folder to `chrome_win64`, assume the chrome version you downloaded is 110; then, download a `chromedriver.exe` with version 110 for windows x64, and put it into the `chrome_win64` folder, then rename it to `chromedriver_win64.exe`. -Finally, copy the `stealth.min.js` and `execute.bat` (for windows) file in this folder to these `chrome` folders. +Finally, copy the `stealth.min.js` and `execute.bat` (for windows x64) file in this folder to these `chrome` folders. ## Run Instruction diff --git a/ElectronJS/src/taskGrid/FlowChart_CN.html b/ElectronJS/src/taskGrid/FlowChart_CN.html index d2ef1d2..89236b2 100644 --- a/ElectronJS/src/taskGrid/FlowChart_CN.html +++ b/ElectronJS/src/taskGrid/FlowChart_CN.html @@ -357,6 +357,8 @@ + + @@ -367,7 +369,22 @@ - +
+
+

+ +
+ + + +
+
+
diff --git a/ElectronJS/src/taskGrid/FlowChart_CN.js b/ElectronJS/src/taskGrid/FlowChart_CN.js index 616034a..1d40dd9 100644 --- a/ElectronJS/src/taskGrid/FlowChart_CN.js +++ b/ElectronJS/src/taskGrid/FlowChart_CN.js @@ -552,8 +552,7 @@ document.onkeydown = function(e) { deleteElement(); } } else { //ctrl+s保存服务 - let currKey = 0, - e = e || event || window.event; + let currKey = 0; currKey = e.keyCode || e.which || e.charCode; if (currKey == 83 && (e.ctrlKey || e.metaKey)) { $('#save').click(); diff --git a/ElectronJS/src/taskGrid/logic_CN.js b/ElectronJS/src/taskGrid/logic_CN.js index a3f55b3..8bcee2d 100644 --- a/ElectronJS/src/taskGrid/logic_CN.js +++ b/ElectronJS/src/taskGrid/logic_CN.js @@ -47,6 +47,16 @@ function changeGetDataParameters(msg, i) { msg["parameters"][i]["downloadPic"] = 0; //是否下载图片 } + +function extractTitle(html) { + var match = html.match(/]*>([^<]+)<\/title>/i); + if (match && match[1]) { + return "采集" + match[1]; + } else { + return "采集新Web页面"; + } +} + function handleAddElement(msg) { if (msg["type"] == "openPage") { addElement(1, msg); @@ -166,6 +176,9 @@ function addParameters(t) { t["parameters"]["waitTime"] = 0; //最长等待时间 t["parameters"]["exitCount"] = 0; //执行多少次后退出循环,0代表不设置此条件 t["parameters"]["historyWait"] = 2; //历史记录回退时间,用于循环点击每个链接的情况下点击链接后不打开新标签页的情况 + t["parameters"]["breakMode"] = 0; //break类型,0代表JS,2代表系统命令 + t["parameters"]["breakCode"] = ""; //break条件 + t["parameters"]["breakCodeWaitTime"] = 0; //break条件等待时间 } else if (t.option == 9) { //条件 } else if (t.option == 10) { //条件分支 @@ -365,6 +378,7 @@ function saveService(type) { "url": url, "links": links, "create_time": new Date().toLocaleString(), + "version": "0.3.0", "containJudge": containJudge, "desc": serviceDescription, "inputParameters": inputParameters, diff --git a/ElectronJS/src/taskGrid/taskList.html b/ElectronJS/src/taskGrid/taskList.html index 3807b03..31dd461 100644 --- a/ElectronJS/src/taskGrid/taskList.html +++ b/ElectronJS/src/taskGrid/taskList.html @@ -21,7 +21,7 @@ - + diff --git a/ElectronJS/tasks/60.json b/ElectronJS/tasks/60.json new file mode 100644 index 0000000..9d947b4 --- /dev/null +++ b/ElectronJS/tasks/60.json @@ -0,0 +1,215 @@ +{ + "id": 60, + "name": "新web采集任务", + "url": "https://www.jd.com", + "links": "https://www.jd.com", + "create_time": "5/21/2023, 4:26:32 PM", + "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, + "beforeJS": "", + "beforeJSWaitTime": 0, + "afterJS": "", + "afterJSWaitTime": 0, + "url": "https://www.jd.com", + "links": "https://www.jd.com", + "maxWaitTime": 10, + "scrollType": 0, + "scrollCount": 0 + } + }, + { + "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", + "wait": 0, + "beforeJS": "", + "beforeJSWaitTime": 0, + "afterJS": "", + "afterJSWaitTime": 0, + "scrollType": 0, + "scrollCount": 0, + "loopType": "1", + "pathList": "", + "textList": "", + "code": "", + "waitTime": 0, + "exitCount": 0, + "historyWait": 2, + "breakMode": "1", + "breakCode": "return window.innerHeight > 500", + "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 ']" + ] + } + }, + { + "id": 3, + "index": 3, + "parentId": 2, + "type": 0, + "option": 3, + "title": "提取数据", + "sequence": [], + "isInLoop": true, + "position": 0, + "parameters": { + "history": 4, + "tabIndex": -1, + "useLoop": false, + "xpath": "", + "wait": 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": "/手机/数码" + }, + { + "num": 1, + "value": "/家用电器" + }, + { + "num": 2, + "value": "/电脑/办公" + }, + { + "num": 3, + "value": "/家纺/家居/厨具" + }, + { + "num": 4, + "value": "/家具/家装/灯具/工业品" + }, + { + "num": 5, + "value": "/内衣/男装/女装/童装" + }, + { + "num": 6, + "value": "/箱包/钟表/珠宝/女鞋" + }, + { + "num": 7, + "value": "/运动/户外/男鞋" + }, + { + "num": 8, + "value": "/汽车用品/车载电器" + }, + { + "num": 9, + "value": "/母婴/洗护喂养" + }, + { + "num": 10, + "value": "/玩具乐器/宠物生活" + }, + { + "num": 11, + "value": "/家庭清洁/个人护理/计生情趣" + }, + { + "num": 12, + "value": "/图书/童书/文学" + } + ], + "default": "", + "beforeJS": "", + "beforeJSWaitTime": 0, + "JS": "", + "JSWaitTime": 0, + "afterJS": "", + "afterJSWaitTime": 0, + "downloadPic": 0 + } + ], + "loopType": 1 + } + } + ] +} \ No newline at end of file diff --git a/ElectronJS/tasks/61.json b/ElectronJS/tasks/61.json new file mode 100644 index 0000000..0007c6b --- /dev/null +++ b/ElectronJS/tasks/61.json @@ -0,0 +1 @@ +{"id":61,"name":"新web采集任务","url":"https://www.jd.com","links":"https://www.jd.com","create_time":"5/21/2023, 4:58:21 PM","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,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"https://www.jd.com","links":"https://www.jd.com","maxWaitTime":10,"scrollType":0,"scrollCount":0}},{"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":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":0,"loopType":2,"pathList":"//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[2]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[3]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[4]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[5]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[6]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[7]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[8]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[9]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[10]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[11]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[12]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[13]","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":"0","breakCode":"","breakCodeWaitTime":0,"allXPaths":""}},{"id":3,"index":3,"parentId":2,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"","wait":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":"/家用电器"},{"num":1,"value":"/电脑/办公"},{"num":2,"value":"/家纺/家居/厨具"},{"num":3,"value":"/家具/家装/灯具/工业品"},{"num":4,"value":"/内衣/男装/女装/童装"},{"num":5,"value":"/箱包/钟表/珠宝/女鞋"},{"num":6,"value":"/运动/户外/男鞋"},{"num":7,"value":"/汽车用品/车载电器"},{"num":8,"value":"/母婴/洗护喂养"},{"num":9,"value":"/玩具乐器/宠物生活"},{"num":10,"value":"/家庭清洁/个人护理/计生情趣"},{"num":11,"value":"/图书/童书/文学"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0}],"loopType":2}}]} \ No newline at end of file diff --git a/ElectronJS/tasks/62.json b/ElectronJS/tasks/62.json new file mode 100644 index 0000000..99aeca1 --- /dev/null +++ b/ElectronJS/tasks/62.json @@ -0,0 +1 @@ +{"id":62,"name":"新web采集任务","url":"https://www.jd.com","links":"https://www.jd.com","create_time":"5/21/2023, 5:16:00 PM","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,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"https://www.jd.com","links":"https://www.jd.com","maxWaitTime":10,"scrollType":"2","scrollCount":2}},{"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":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":0,"loopType":2,"pathList":"//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[2]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[3]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[4]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[5]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[6]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[7]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[8]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[9]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[10]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[11]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[12]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[13]","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":"1","breakCode":"return window.innerHeight > 500","breakCodeWaitTime":0,"allXPaths":""}},{"id":3,"index":3,"parentId":2,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"","wait":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":"/家用电器"},{"num":1,"value":"/电脑/办公"},{"num":2,"value":"/家纺/家居/厨具"},{"num":3,"value":"/家具/家装/灯具/工业品"},{"num":4,"value":"/内衣/男装/女装/童装"},{"num":5,"value":"/箱包/钟表/珠宝/女鞋"},{"num":6,"value":"/运动/户外/男鞋"},{"num":7,"value":"/汽车用品/车载电器"},{"num":8,"value":"/母婴/洗护喂养"},{"num":9,"value":"/玩具乐器/宠物生活"},{"num":10,"value":"/家庭清洁/个人护理/计生情趣"},{"num":11,"value":"/图书/童书/文学"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0}],"loopType":2}}]} \ No newline at end of file diff --git a/ElectronJS/tasks/63.json b/ElectronJS/tasks/63.json new file mode 100644 index 0000000..8ce18af --- /dev/null +++ b/ElectronJS/tasks/63.json @@ -0,0 +1 @@ +{"id":63,"name":"地震台网","url":"http://www.ceic.ac.cn/history","links":"http://www.ceic.ac.cn/history","create_time":"5/21/2023, 5:59:42 PM","containJudge":false,"desc":"http://www.ceic.ac.cn/history","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"http://www.ceic.ac.cn/history","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"http://www.ceic.ac.cn/history"},{"id":1,"name":"loopText_1","nodeId":2,"nodeName":"循环","desc":"要输入的文本/网址,多行以\\n分开","type":"string","exampleValue":"1\n2\n3\n4","value":"1\n2\n3\n4"},{"id":2,"name":"loopTimes_循环_2","nodeId":5,"nodeName":"循环","desc":"循环循环执行的次数(0代表无限循环)","type":"int","exampleValue":2,"value":2}],"outputParameters":[{"id":0,"name":"参数1_文本","desc":"","type":"string","exampleValue":"3.12023-05-09 14:12:2241.0778.8410新疆阿克苏地区乌什县"}],"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,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"http://www.ceic.ac.cn/history","links":"http://www.ceic.ac.cn/history","maxWaitTime":10,"scrollType":0,"scrollCount":0}},{"id":2,"index":2,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[3,4,5],"isInLoop":false,"position":1,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":0,"loopType":"3","pathList":"","textList":"1\n2\n3\n4","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":"1","breakCode":"return window.innerHeight > 500","breakCodeWaitTime":0}},{"id":3,"index":3,"parentId":2,"type":0,"option":4,"title":"输入文字","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":4,"tabIndex":0,"useLoop":true,"xpath":"//*[@id=\"weidu1\"]","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"value":"1","allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/div[1]/form[1]/div[2]/input[1]","//input[contains(., '')]","id(\"weidu1\")","//INPUT[@class='span1']","//INPUT[@name='weidu1']"]}},{"id":4,"index":4,"parentId":2,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":true,"position":1,"parameters":{"history":4,"tabIndex":0,"useLoop":false,"xpath":"//*[@id=\"search\"]","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/div[1]/form[1]/div[5]/a[1]","//a[contains(., '查询')]","id(\"search\")","//A[@class='check']"]}},{"id":5,"index":5,"parentId":2,"type":1,"option":8,"title":"循环","sequence":[7,6],"isInLoop":true,"position":2,"parameters":{"history":4,"tabIndex":0,"useLoop":false,"xpath":"//a[contains(., '»')]","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":0,"loopType":0,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":2,"historyWait":2,"breakMode":"1","breakCode":"return window.innerWidth > 500","breakCodeWaitTime":0,"allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/div[2]/div[1]/div[2]/div[1]/div[1]/ul[1]/li[10]/a[1]","//a[contains(., '»')]"]}},{"id":7,"index":6,"parentId":5,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":true,"position":1,"parameters":{"history":4,"tabIndex":0,"useLoop":true,"xpath":"//*[contains(@class, \"pagination\")]/ul[1]/li[10]/a[1]","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/div[2]/div[1]/div[2]/div[1]/div[1]/ul[1]/li[10]/a[1]","//a[contains(., '»')]"],"loopType":0}},{"id":6,"index":7,"parentId":5,"type":1,"option":8,"title":"循环","sequence":[8],"isInLoop":true,"position":0,"parameters":{"history":4,"tabIndex":0,"useLoop":false,"xpath":"/html/body/div[1]/div[3]/div[1]/div[1]/div[2]/div[1]/div[1]/table[1]/tbody[1]/tr","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":0,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/div[2]/div[1]/div[1]/table[1]/tbody[1]/tr[1]","//tr[contains(., '震级(M)发震时刻(')]","//TR[@class='speed-tr-h1']"]}},{"id":8,"index":8,"parentId":6,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":4,"tabIndex":0,"useLoop":false,"xpath":"","wait":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":"3.12023-05-09 14:12:2241.0778.8410新疆阿克苏地区乌什县"},{"num":1,"value":"震级(M)发震时刻(UTC+8)纬度(°)经度(°)深度(千米)参考位置"},{"num":2,"value":"2.32023-05-09 12:31:4637.51115.0710河北邢台市宁晋县"},{"num":3,"value":"3.02023-05-08 04:06:4629.72103.2618四川眉山市洪雅县"},{"num":4,"value":"3.32023-05-06 21:23:4529.61102.038四川甘孜州泸定县"},{"num":5,"value":"3.02023-05-06 20:39:1130.67117.0510安徽安庆市宜秀区"},{"num":6,"value":"3.72023-05-06 13:01:5729.15105.4510四川泸州市泸县"},{"num":7,"value":"3.12023-05-06 10:19:4347.73130.858黑龙江鹤岗市萝北县"},{"num":8,"value":"5.42023-05-06 01:47:1741.45142.1040日本北海道地区"},{"num":9,"value":"5.72023-05-05 20:58:0537.35137.3510日本本州西岸近海"},{"num":10,"value":"4.32023-05-05 20:33:1928.08105.128四川宜宾市兴文县"},{"num":11,"value":"6.32023-05-05 13:42:0537.40137.4010日本本州西岸近海"},{"num":12,"value":"3.12023-05-05 11:32:0425.1298.1312云南德宏州盈江县"},{"num":13,"value":"3.22023-05-05 10:28:3925.1498.118云南德宏州盈江县"},{"num":14,"value":"3.42023-05-05 08:35:2635.7979.8610新疆和田地区和田县"},{"num":15,"value":"4.52023-05-04 23:38:2123.46121.3310台湾花莲县"},{"num":16,"value":"2.12023-05-04 19:00:3138.46117.979河北沧州市黄骅市海域"},{"num":17,"value":"3.02023-05-04 15:53:4640.8083.9115新疆阿克苏地区沙雅县"},{"num":18,"value":"3.32023-05-04 14:06:2428.92102.4715四川雅安市石棉县"},{"num":19,"value":"3.32023-05-04 11:46:2433.34119.2814江苏扬州市宝应县"},{"num":20,"value":"4.92023-05-04 10:15:2828.14105.1210四川宜宾市兴文县"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0}],"loopType":1}}]} \ No newline at end of file diff --git a/ElectronJS/每次发布之前要检查的事项.md b/ElectronJS/每次发布之前要检查的事项.md new file mode 100644 index 0000000..90ba493 --- /dev/null +++ b/ElectronJS/每次发布之前要检查的事项.md @@ -0,0 +1,3 @@ +- 删除chrome的install文件夹 +- 修改logic.js及logic_CN.js, ElectronJS/package.json,Manifestv3/package.json,easyspider_executestage.py中的版本号 +- 更新最新的tasks文件夹 \ No newline at end of file diff --git a/ExecuteStage/.vscode/launch.json b/ExecuteStage/.vscode/launch.json index 42bd711..ca5b61a 100644 --- a/ExecuteStage/.vscode/launch.json +++ b/ExecuteStage/.vscode/launch.json @@ -12,7 +12,7 @@ "console": "integratedTerminal", "justMyCode": true, // "args": ["--id", "38", "--read_type", "local", "--headless", "1"] - "args": ["--id", "14", "--headless", "0"] + "args": ["--id", "23", "--headless", "0"] } ] } \ No newline at end of file diff --git a/ExecuteStage/easyspider_executestage.py b/ExecuteStage/easyspider_executestage.py index 2c889cc..7677a3a 100644 --- a/ExecuteStage/easyspider_executestage.py +++ b/ExecuteStage/easyspider_executestage.py @@ -289,6 +289,15 @@ def judgeExcute(node, loopElement, clickPath="", index=0): if executeBranchId != 0: executeNode(executeBranchId, loopElement, clickPath, index) +def get_output_code(output): + try: + if output.find("rue") != -1: # 如果返回值中包含true + code = 1 + else: + code = int(output) + except: + code = 0 + return code # 对循环的处理 def loopExcute(node, loopValue, clickPath="", index=0): @@ -335,13 +344,17 @@ def loopExcute(node, loopValue, clickPath="", index=0): if node["option"] != 2: executeNode(i, None, node["parameters"]["xpath"], 0) break # 如果找不到元素,退出循环 - count = count + 1 Log("Page: ", count) recordLog("Page:" + str(count)) # print(node["parameters"]["exitCount"], "-------") if node["parameters"]["exitCount"] == count: # 如果达到设置的退出循环条件的话 break + if int(node["parameters"]["breakMode"]) > 0: # 如果设置了退出循环的脚本条件 + output = execute_code(int(node["parameters"]["breakMode"]) -1, node["parameters"]["breakCode"], node["parameters"]["breakCodeWaitTime"]) + code = get_output_code(output) + if code <= 0: + break elif int(node["parameters"]["loopType"]) == 1: # 不固定元素列表 try: elements = browser.find_elements(By.XPATH, @@ -370,6 +383,11 @@ def loopExcute(node, loopValue, clickPath="", index=0): Log("Change history back time or:", node["parameters"]["historyWait"]) browser.execute_script('window.stop()') + if int(node["parameters"]["breakMode"]) > 0: # 如果设置了退出循环的脚本条件 + output = execute_code(int(node["parameters"]["breakMode"]) -1, node["parameters"]["breakCode"], node["parameters"]["breakCodeWaitTime"]) + code = get_output_code(output) + if code <= 0: + break except NoSuchElementException: Log("pathNotFound: ", node["parameters"]["xpath"]) recordLog("pathNotFound: " + node["parameters"]["xpath"]) @@ -407,12 +425,22 @@ def loopExcute(node, loopValue, clickPath="", index=0): continue # 循环中找不到元素就略过操作 except Exception as e: raise + if int(node["parameters"]["breakMode"]) > 0: # 如果设置了退出循环的脚本条件 + output = execute_code(int(node["parameters"]["breakMode"]) -1, node["parameters"]["breakCode"], node["parameters"]["breakCodeWaitTime"]) + code = get_output_code(output) + if code <= 0: + break elif int(node["parameters"]["loopType"]) == 3: # 固定文本列表 textList = node["parameters"]["textList"].split("\n") for text in textList: recordLog("input: " + text) for i in node["sequence"]: # 挨个执行操作 executeNode(i, text, "", 0) + if int(node["parameters"]["breakMode"]) > 0: # 如果设置了退出循环的脚本条件 + output = execute_code(int(node["parameters"]["breakMode"]) -1, node["parameters"]["breakCode"], node["parameters"]["breakCodeWaitTime"]) + code = get_output_code(output) + if code <= 0: + break elif int(node["parameters"]["loopType"]) == 4: # 固定网址列表 # tempList = node["parameters"]["textList"].split("\r\n") urlList = list( @@ -425,19 +453,18 @@ def loopExcute(node, loopValue, clickPath="", index=0): recordLog("input: " + url) for i in node["sequence"]: executeNode(i, url, "", 0) + if int(node["parameters"]["breakMode"]) > 0: # 如果设置了退出循环的脚本条件 + output = execute_code(int(node["parameters"]["breakMode"]) -1, node["parameters"]["breakCode"], node["parameters"]["breakCodeWaitTime"]) + code = get_output_code(output) + if code <= 0: + break elif int(node["parameters"]["loopType"]) <= 6: # 命令返回值 while True: # do while循环 if int(node["parameters"]["loopType"]) == 5: # JS output = execute_code(0, node["parameters"]["code"], node["parameters"]["waitTime"]) elif int(node["parameters"]["loopType"]) == 6: # System output = execute_code(1, node["parameters"]["code"], node["parameters"]["waitTime"]) - try: - if output.find("rue") != -1: # 如果返回值中包含true - code = 1 - else: - code = int(output) - except: - code = 0 + code = get_output_code(output) if code <= 0: break for i in node["sequence"]: # 挨个执行操作 diff --git a/Extension/manifest_v3/package.json b/Extension/manifest_v3/package.json index 67f4c48..d760fee 100644 --- a/Extension/manifest_v3/package.json +++ b/Extension/manifest_v3/package.json @@ -8,6 +8,7 @@ "crx": "crx3", "package": "node package.js" }, + "license": "GPL-3.0", "dependencies": { "crx": "^5.0.1", "crx3": "^1.1.3", diff --git a/Releases/EasySpider_windows_amd64/execution_instances/0.json b/Releases/EasySpider_windows_amd64/execution_instances/0.json deleted file mode 100644 index 2458c17..0000000 --- a/Releases/EasySpider_windows_amd64/execution_instances/0.json +++ /dev/null @@ -1 +0,0 @@ -{"id":0,"name":"地震台网判断案例","url":"http://www.ceic.ac.cn/history","links":"http://www.ceic.ac.cn/history","create_time":"5/20/2023, 5:07:49 PM","containJudge":true,"desc":"http://www.ceic.ac.cn/history","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"http://www.ceic.ac.cn/history","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"http://www.ceic.ac.cn/history"},{"id":1,"name":"inputText_1","nodeName":"输入文字","nodeId":2,"desc":"要输入的文本,如京东搜索框输入:电脑","type":"string","exampleValue":"1","value":"1"}],"outputParameters":[{"id":0,"name":"参数1_文本","desc":"","type":"string","exampleValue":"2.8"},{"id":1,"name":"参数2_文本","desc":"","type":"string","exampleValue":"2023-05-2011:51:38"},{"id":2,"name":"参数3_文本","desc":"","type":"string","exampleValue":"24.97"},{"id":3,"name":"参数4_文本","desc":"","type":"string","exampleValue":"99.26"},{"id":4,"name":"参数5_文本","desc":"","type":"string","exampleValue":"10"},{"id":5,"name":"参数6_链接文本","desc":"","type":"string","exampleValue":"云南保山市隆阳区"},{"id":6,"name":"参数7_链接地址","desc":"","type":"string","exampleValue":"https://news.ceic.ac.cn/CD20230520115138.html"},{"id":7,"name":"参数8_文本","desc":"","type":"string","exampleValue":"震级(M)"},{"id":8,"name":"参数9_文本","desc":"","type":"string","exampleValue":"发震时刻(UTC+8)"},{"id":9,"name":"参数10_文本","desc":"","type":"string","exampleValue":"纬度(°)"},{"id":10,"name":"参数11_文本","desc":"","type":"string","exampleValue":"经度(°)"},{"id":11,"name":"参数12_文本","desc":"","type":"string","exampleValue":"深度(千米)"},{"id":12,"name":"参数13_文本","desc":"","type":"string","exampleValue":"参考位置"}],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2,3,4],"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,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"http://www.ceic.ac.cn/history","links":"http://www.ceic.ac.cn/history","maxWaitTime":10,"scrollType":0,"scrollCount":0}},{"id":2,"index":2,"parentId":0,"type":0,"option":4,"title":"输入文字","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"weidu1\"]","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"value":"1","allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/div[1]/form[1]/div[2]/input[1]","//input[contains(., '')]","id(\"weidu1\")","//INPUT[@class='span1']","//INPUT[@name='weidu1']"]}},{"id":3,"index":3,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":2,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"search\"]","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/div[1]/form[1]/div[5]/a[1]","//a[contains(., '查询')]","id(\"search\")","//A[@class='check']"]}},{"id":4,"index":4,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[6],"isInLoop":false,"position":3,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"/html/body/div[1]/div[3]/div[1]/div[1]/div[2]/div[1]/div[1]/table[1]/tbody[1]/tr","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":0,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/div[2]/div[1]/div[1]/table[1]/tbody[1]/tr[1]","//tr[contains(., '震级(M)发震时刻(')]","//TR[@class='speed-tr-h1']"]}},{"id":8,"index":5,"parentId":6,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"paras":[{"nodeType":0,"contentType":1,"relative":true,"name":"参数1_文本","desc":"","relativeXPath":"/td[1]","allXPaths":["/td[1]","//td[contains(., '2.8')]"],"exampleValues":[{"num":0,"value":"2.8"},{"num":2,"value":"2.9"},{"num":3,"value":"5.7"},{"num":4,"value":"3.2"},{"num":5,"value":"3.9"},{"num":6,"value":"6.4"},{"num":7,"value":"4.5"},{"num":8,"value":"3.0"},{"num":9,"value":"5.5"},{"num":10,"value":"3.0"},{"num":11,"value":"5.3"},{"num":12,"value":"5.5"},{"num":13,"value":"4.0"},{"num":14,"value":"3.0"},{"num":15,"value":"4.2"},{"num":16,"value":"4.5"},{"num":17,"value":"5.9"},{"num":18,"value":"3.6"},{"num":19,"value":"3.3"},{"num":20,"value":"3.1"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数2_文本","desc":"","relativeXPath":"/td[2]","allXPaths":["/td[2]","//td[contains(., '2023-05-20')]"],"exampleValues":[{"num":0,"value":"2023-05-2011:51:38"},{"num":2,"value":"2023-05-2009:03:26"},{"num":3,"value":"2023-05-1923:15:03"},{"num":4,"value":"2023-05-1918:26:43"},{"num":5,"value":"2023-05-1905:18:32"},{"num":6,"value":"2023-05-1807:02:01"},{"num":7,"value":"2023-05-1705:56:23"},{"num":8,"value":"2023-05-1619:28:37"},{"num":9,"value":"2023-05-1418:11:34"},{"num":10,"value":"2023-05-1416:49:13"},{"num":11,"value":"2023-05-1416:21:42"},{"num":12,"value":"2023-05-1207:19:45"},{"num":13,"value":"2023-05-1206:07:18"},{"num":14,"value":"2023-05-1204:49:57"},{"num":15,"value":"2023-05-1204:32:10"},{"num":16,"value":"2023-05-1202:34:04"},{"num":17,"value":"2023-05-1121:33:11"},{"num":18,"value":"2023-05-1008:38:11"},{"num":19,"value":"2023-05-0919:23:29"},{"num":20,"value":"2023-05-0918:22:15"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数3_文本","desc":"","relativeXPath":"/td[3]","allXPaths":["/td[3]","//td[contains(., '24.97')]"],"exampleValues":[{"num":0,"value":"24.97"},{"num":2,"value":"34.26"},{"num":3,"value":"12.75"},{"num":4,"value":"41.31"},{"num":5,"value":"33.48"},{"num":6,"value":"15.10"},{"num":7,"value":"42.78"},{"num":8,"value":"28.08"},{"num":9,"value":"33.60"},{"num":10,"value":"38.14"},{"num":11,"value":"33.35"},{"num":12,"value":"40.25"},{"num":13,"value":"29.62"},{"num":14,"value":"29.66"},{"num":15,"value":"29.63"},{"num":16,"value":"29.64"},{"num":17,"value":"24.00"},{"num":18,"value":"28.11"},{"num":19,"value":"41.20"},{"num":20,"value":"35.78"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数4_文本","desc":"","relativeXPath":"/td[4]","allXPaths":["/td[4]","//td[contains(., '99.26')]"],"exampleValues":[{"num":0,"value":"99.26"},{"num":2,"value":"113.66"},{"num":3,"value":"49.00"},{"num":4,"value":"84.03"},{"num":5,"value":"91.05"},{"num":6,"value":"-90.90"},{"num":7,"value":"80.59"},{"num":8,"value":"105.12"},{"num":9,"value":"139.45"},{"num":10,"value":"75.66"},{"num":11,"value":"139.40"},{"num":12,"value":"-120.90"},{"num":13,"value":"102.03"},{"num":14,"value":"102.01"},{"num":15,"value":"102.02"},{"num":16,"value":"102.04"},{"num":17,"value":"125.40"},{"num":18,"value":"105.09"},{"num":19,"value":"83.28"},{"num":20,"value":"79.81"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数5_文本","desc":"","relativeXPath":"/td[5]","allXPaths":["/td[5]","//td[contains(., '10')]"],"exampleValues":[{"num":0,"value":"10"},{"num":2,"value":"10"},{"num":3,"value":"10"},{"num":4,"value":"10"},{"num":5,"value":"10"},{"num":6,"value":"250"},{"num":7,"value":"10"},{"num":8,"value":"10"},{"num":9,"value":"10"},{"num":10,"value":"118"},{"num":11,"value":"10"},{"num":12,"value":"10"},{"num":13,"value":"10"},{"num":14,"value":"9"},{"num":15,"value":"10"},{"num":16,"value":"10"},{"num":17,"value":"10"},{"num":18,"value":"8"},{"num":19,"value":"15"},{"num":20,"value":"10"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":1,"contentType":0,"relative":true,"name":"参数6_链接文本","desc":"","relativeXPath":"/td[6]/a[1]","allXPaths":["/td[6]/a[1]","//a[contains(., '云南保山市隆阳区')]","id(\"cid\")"],"exampleValues":[{"num":0,"value":"云南保山市隆阳区"},{"num":2,"value":"河南许昌市长葛市"},{"num":3,"value":"亚丁湾"},{"num":4,"value":"新疆巴音郭楞州轮台县"},{"num":5,"value":"青海海西州唐古拉地区"},{"num":6,"value":"危地马拉"},{"num":7,"value":"新疆伊犁州昭苏县"},{"num":8,"value":"四川宜宾市兴文县"},{"num":9,"value":"日本本州东南海域"},{"num":10,"value":"新疆克孜勒苏州阿克陶县"},{"num":11,"value":"日本本州东南海域"},{"num":12,"value":"美国加利福尼亚州"},{"num":13,"value":"四川甘孜州泸定县"},{"num":14,"value":"四川甘孜州泸定县"},{"num":15,"value":"四川甘孜州泸定县"},{"num":16,"value":"四川甘孜州泸定县"},{"num":17,"value":"琉球群岛"},{"num":18,"value":"四川宜宾市兴文县"},{"num":19,"value":"新疆阿克苏地区库车市"},{"num":20,"value":"新疆和田地区和田县"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":2,"contentType":0,"relative":true,"name":"参数7_链接地址","desc":"","relativeXPath":"/td[6]/a[1]","allXPaths":["/td[6]/a[1]","//a[contains(., '云南保山市隆阳区')]","id(\"cid\")"],"exampleValues":[{"num":0,"value":"https://news.ceic.ac.cn/CD20230520115138.html"},{"num":2,"value":"https://news.ceic.ac.cn/CD20230520090326.html"},{"num":3,"value":"https://news.ceic.ac.cn/CC20230519231504.html"},{"num":4,"value":"https://news.ceic.ac.cn/CD20230519182644.html"},{"num":5,"value":"https://news.ceic.ac.cn/CD20230519051833.html"},{"num":6,"value":"https://news.ceic.ac.cn/CC20230518070201.html"},{"num":7,"value":"https://news.ceic.ac.cn/CD20230517055623.html"},{"num":8,"value":"https://news.ceic.ac.cn/CD20230516192837.html"},{"num":9,"value":"https://news.ceic.ac.cn/CC20230514181134.html"},{"num":10,"value":"https://news.ceic.ac.cn/CD20230514164913.html"},{"num":11,"value":"https://news.ceic.ac.cn/CC20230514162142.html"},{"num":12,"value":"https://news.ceic.ac.cn/CC20230512071946.html"},{"num":13,"value":"https://news.ceic.ac.cn/CC20230512060719.html"},{"num":14,"value":"https://news.ceic.ac.cn/CD20230512044957.html"},{"num":15,"value":"https://news.ceic.ac.cn/CC20230512043211.html"},{"num":16,"value":"https://news.ceic.ac.cn/CC20230512023404.html"},{"num":17,"value":"https://news.ceic.ac.cn/CC20230511213311.html"},{"num":18,"value":"https://news.ceic.ac.cn/CC20230510083811.html"},{"num":19,"value":"https://news.ceic.ac.cn/CD20230509192329.html"},{"num":20,"value":"https://news.ceic.ac.cn/CD20230509182216.html"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数8_文本","desc":"","relativeXPath":"/th[1]","allXPaths":["/th[1]","//th[contains(., '震级(M)')]"],"exampleValues":[{"num":1,"value":"震级(M)"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数9_文本","desc":"","relativeXPath":"/th[2]","allXPaths":["/th[2]","//th[contains(., '发震时刻(UTC+8')]"],"exampleValues":[{"num":1,"value":"发震时刻(UTC+8)"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数10_文本","desc":"","relativeXPath":"/th[3]","allXPaths":["/th[3]","//th[contains(., '纬度(°)')]"],"exampleValues":[{"num":1,"value":"纬度(°)"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数11_文本","desc":"","relativeXPath":"/th[4]","allXPaths":["/th[4]","//th[contains(., '经度(°)')]"],"exampleValues":[{"num":1,"value":"经度(°)"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数12_文本","desc":"","relativeXPath":"/th[5]","allXPaths":["/th[5]","//th[contains(., '深度(千米)')]"],"exampleValues":[{"num":1,"value":"深度(千米)"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数13_文本","desc":"","relativeXPath":"/th[6]","allXPaths":["/th[6]","//th[contains(., '参考位置')]"],"exampleValues":[{"num":1,"value":"参考位置"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0}],"loopType":1}},{"id":5,"index":6,"parentId":4,"type":2,"option":9,"title":"判断条件","sequence":[7,8],"isInLoop":true,"position":0,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0}},{"id":6,"parentId":5,"index":7,"type":3,"option":10,"title":"条件分支","sequence":[5],"isInLoop":true,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"class":"7","value":"","code":"return arguments[0].innerText.indexOf(\"20\") >= 0","waitTime":0},"position":0},{"id":7,"parentId":5,"index":8,"type":3,"option":10,"title":"条件分支","sequence":[],"isInLoop":true,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"class":0,"value":"","code":"","waitTime":0},"position":1}]} \ No newline at end of file diff --git a/Releases/EasySpider_windows_amd64/execution_instances/1.json b/Releases/EasySpider_windows_amd64/execution_instances/1.json deleted file mode 100644 index ba2f2ed..0000000 --- a/Releases/EasySpider_windows_amd64/execution_instances/1.json +++ /dev/null @@ -1 +0,0 @@ -{"id":1,"name":"地震台网判断案例","url":"http://www.ceic.ac.cn/history","links":"http://www.ceic.ac.cn/history","create_time":"5/20/2023, 5:07:49 PM","containJudge":true,"desc":"http://www.ceic.ac.cn/history","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"http://www.ceic.ac.cn/history","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"http://www.ceic.ac.cn/history"},{"id":1,"name":"inputText_1","nodeName":"输入文字","nodeId":2,"desc":"要输入的文本,如京东搜索框输入:电脑","type":"string","exampleValue":"1","value":"1"}],"outputParameters":[{"id":0,"name":"参数1_文本","desc":"","type":"string","exampleValue":"2.8"},{"id":1,"name":"参数2_文本","desc":"","type":"string","exampleValue":"2023-05-2011:51:38"},{"id":2,"name":"参数3_文本","desc":"","type":"string","exampleValue":"24.97"},{"id":3,"name":"参数4_文本","desc":"","type":"string","exampleValue":"99.26"},{"id":4,"name":"参数5_文本","desc":"","type":"string","exampleValue":"10"},{"id":5,"name":"参数6_链接文本","desc":"","type":"string","exampleValue":"云南保山市隆阳区"},{"id":6,"name":"参数7_链接地址","desc":"","type":"string","exampleValue":"https://news.ceic.ac.cn/CD20230520115138.html"},{"id":7,"name":"参数8_文本","desc":"","type":"string","exampleValue":"震级(M)"},{"id":8,"name":"参数9_文本","desc":"","type":"string","exampleValue":"发震时刻(UTC+8)"},{"id":9,"name":"参数10_文本","desc":"","type":"string","exampleValue":"纬度(°)"},{"id":10,"name":"参数11_文本","desc":"","type":"string","exampleValue":"经度(°)"},{"id":11,"name":"参数12_文本","desc":"","type":"string","exampleValue":"深度(千米)"},{"id":12,"name":"参数13_文本","desc":"","type":"string","exampleValue":"参考位置"}],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2,3,4],"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,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"http://www.ceic.ac.cn/history","links":"http://www.ceic.ac.cn/history","maxWaitTime":10,"scrollType":0,"scrollCount":0}},{"id":2,"index":2,"parentId":0,"type":0,"option":4,"title":"输入文字","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"weidu1\"]","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"value":"1","allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/div[1]/form[1]/div[2]/input[1]","//input[contains(., '')]","id(\"weidu1\")","//INPUT[@class='span1']","//INPUT[@name='weidu1']"]}},{"id":3,"index":3,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":2,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"search\"]","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/div[1]/form[1]/div[5]/a[1]","//a[contains(., '查询')]","id(\"search\")","//A[@class='check']"]}},{"id":4,"index":4,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[6],"isInLoop":false,"position":3,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"/html/body/div[1]/div[3]/div[1]/div[1]/div[2]/div[1]/div[1]/table[1]/tbody[1]/tr","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":0,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/div[2]/div[1]/div[1]/table[1]/tbody[1]/tr[1]","//tr[contains(., '震级(M)发震时刻(')]","//TR[@class='speed-tr-h1']"]}},{"id":8,"index":5,"parentId":6,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"paras":[{"nodeType":0,"contentType":1,"relative":true,"name":"参数1_文本","desc":"","relativeXPath":"/td[1]","allXPaths":["/td[1]","//td[contains(., '2.8')]"],"exampleValues":[{"num":0,"value":"2.8"},{"num":2,"value":"2.9"},{"num":3,"value":"5.7"},{"num":4,"value":"3.2"},{"num":5,"value":"3.9"},{"num":6,"value":"6.4"},{"num":7,"value":"4.5"},{"num":8,"value":"3.0"},{"num":9,"value":"5.5"},{"num":10,"value":"3.0"},{"num":11,"value":"5.3"},{"num":12,"value":"5.5"},{"num":13,"value":"4.0"},{"num":14,"value":"3.0"},{"num":15,"value":"4.2"},{"num":16,"value":"4.5"},{"num":17,"value":"5.9"},{"num":18,"value":"3.6"},{"num":19,"value":"3.3"},{"num":20,"value":"3.1"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数2_文本","desc":"","relativeXPath":"/td[2]","allXPaths":["/td[2]","//td[contains(., '2023-05-20')]"],"exampleValues":[{"num":0,"value":"2023-05-2011:51:38"},{"num":2,"value":"2023-05-2009:03:26"},{"num":3,"value":"2023-05-1923:15:03"},{"num":4,"value":"2023-05-1918:26:43"},{"num":5,"value":"2023-05-1905:18:32"},{"num":6,"value":"2023-05-1807:02:01"},{"num":7,"value":"2023-05-1705:56:23"},{"num":8,"value":"2023-05-1619:28:37"},{"num":9,"value":"2023-05-1418:11:34"},{"num":10,"value":"2023-05-1416:49:13"},{"num":11,"value":"2023-05-1416:21:42"},{"num":12,"value":"2023-05-1207:19:45"},{"num":13,"value":"2023-05-1206:07:18"},{"num":14,"value":"2023-05-1204:49:57"},{"num":15,"value":"2023-05-1204:32:10"},{"num":16,"value":"2023-05-1202:34:04"},{"num":17,"value":"2023-05-1121:33:11"},{"num":18,"value":"2023-05-1008:38:11"},{"num":19,"value":"2023-05-0919:23:29"},{"num":20,"value":"2023-05-0918:22:15"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数3_文本","desc":"","relativeXPath":"/td[3]","allXPaths":["/td[3]","//td[contains(., '24.97')]"],"exampleValues":[{"num":0,"value":"24.97"},{"num":2,"value":"34.26"},{"num":3,"value":"12.75"},{"num":4,"value":"41.31"},{"num":5,"value":"33.48"},{"num":6,"value":"15.10"},{"num":7,"value":"42.78"},{"num":8,"value":"28.08"},{"num":9,"value":"33.60"},{"num":10,"value":"38.14"},{"num":11,"value":"33.35"},{"num":12,"value":"40.25"},{"num":13,"value":"29.62"},{"num":14,"value":"29.66"},{"num":15,"value":"29.63"},{"num":16,"value":"29.64"},{"num":17,"value":"24.00"},{"num":18,"value":"28.11"},{"num":19,"value":"41.20"},{"num":20,"value":"35.78"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数4_文本","desc":"","relativeXPath":"/td[4]","allXPaths":["/td[4]","//td[contains(., '99.26')]"],"exampleValues":[{"num":0,"value":"99.26"},{"num":2,"value":"113.66"},{"num":3,"value":"49.00"},{"num":4,"value":"84.03"},{"num":5,"value":"91.05"},{"num":6,"value":"-90.90"},{"num":7,"value":"80.59"},{"num":8,"value":"105.12"},{"num":9,"value":"139.45"},{"num":10,"value":"75.66"},{"num":11,"value":"139.40"},{"num":12,"value":"-120.90"},{"num":13,"value":"102.03"},{"num":14,"value":"102.01"},{"num":15,"value":"102.02"},{"num":16,"value":"102.04"},{"num":17,"value":"125.40"},{"num":18,"value":"105.09"},{"num":19,"value":"83.28"},{"num":20,"value":"79.81"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数5_文本","desc":"","relativeXPath":"/td[5]","allXPaths":["/td[5]","//td[contains(., '10')]"],"exampleValues":[{"num":0,"value":"10"},{"num":2,"value":"10"},{"num":3,"value":"10"},{"num":4,"value":"10"},{"num":5,"value":"10"},{"num":6,"value":"250"},{"num":7,"value":"10"},{"num":8,"value":"10"},{"num":9,"value":"10"},{"num":10,"value":"118"},{"num":11,"value":"10"},{"num":12,"value":"10"},{"num":13,"value":"10"},{"num":14,"value":"9"},{"num":15,"value":"10"},{"num":16,"value":"10"},{"num":17,"value":"10"},{"num":18,"value":"8"},{"num":19,"value":"15"},{"num":20,"value":"10"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":1,"contentType":0,"relative":true,"name":"参数6_链接文本","desc":"","relativeXPath":"/td[6]/a[1]","allXPaths":["/td[6]/a[1]","//a[contains(., '云南保山市隆阳区')]","id(\"cid\")"],"exampleValues":[{"num":0,"value":"云南保山市隆阳区"},{"num":2,"value":"河南许昌市长葛市"},{"num":3,"value":"亚丁湾"},{"num":4,"value":"新疆巴音郭楞州轮台县"},{"num":5,"value":"青海海西州唐古拉地区"},{"num":6,"value":"危地马拉"},{"num":7,"value":"新疆伊犁州昭苏县"},{"num":8,"value":"四川宜宾市兴文县"},{"num":9,"value":"日本本州东南海域"},{"num":10,"value":"新疆克孜勒苏州阿克陶县"},{"num":11,"value":"日本本州东南海域"},{"num":12,"value":"美国加利福尼亚州"},{"num":13,"value":"四川甘孜州泸定县"},{"num":14,"value":"四川甘孜州泸定县"},{"num":15,"value":"四川甘孜州泸定县"},{"num":16,"value":"四川甘孜州泸定县"},{"num":17,"value":"琉球群岛"},{"num":18,"value":"四川宜宾市兴文县"},{"num":19,"value":"新疆阿克苏地区库车市"},{"num":20,"value":"新疆和田地区和田县"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":2,"contentType":0,"relative":true,"name":"参数7_链接地址","desc":"","relativeXPath":"/td[6]/a[1]","allXPaths":["/td[6]/a[1]","//a[contains(., '云南保山市隆阳区')]","id(\"cid\")"],"exampleValues":[{"num":0,"value":"https://news.ceic.ac.cn/CD20230520115138.html"},{"num":2,"value":"https://news.ceic.ac.cn/CD20230520090326.html"},{"num":3,"value":"https://news.ceic.ac.cn/CC20230519231504.html"},{"num":4,"value":"https://news.ceic.ac.cn/CD20230519182644.html"},{"num":5,"value":"https://news.ceic.ac.cn/CD20230519051833.html"},{"num":6,"value":"https://news.ceic.ac.cn/CC20230518070201.html"},{"num":7,"value":"https://news.ceic.ac.cn/CD20230517055623.html"},{"num":8,"value":"https://news.ceic.ac.cn/CD20230516192837.html"},{"num":9,"value":"https://news.ceic.ac.cn/CC20230514181134.html"},{"num":10,"value":"https://news.ceic.ac.cn/CD20230514164913.html"},{"num":11,"value":"https://news.ceic.ac.cn/CC20230514162142.html"},{"num":12,"value":"https://news.ceic.ac.cn/CC20230512071946.html"},{"num":13,"value":"https://news.ceic.ac.cn/CC20230512060719.html"},{"num":14,"value":"https://news.ceic.ac.cn/CD20230512044957.html"},{"num":15,"value":"https://news.ceic.ac.cn/CC20230512043211.html"},{"num":16,"value":"https://news.ceic.ac.cn/CC20230512023404.html"},{"num":17,"value":"https://news.ceic.ac.cn/CC20230511213311.html"},{"num":18,"value":"https://news.ceic.ac.cn/CC20230510083811.html"},{"num":19,"value":"https://news.ceic.ac.cn/CD20230509192329.html"},{"num":20,"value":"https://news.ceic.ac.cn/CD20230509182216.html"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数8_文本","desc":"","relativeXPath":"/th[1]","allXPaths":["/th[1]","//th[contains(., '震级(M)')]"],"exampleValues":[{"num":1,"value":"震级(M)"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数9_文本","desc":"","relativeXPath":"/th[2]","allXPaths":["/th[2]","//th[contains(., '发震时刻(UTC+8')]"],"exampleValues":[{"num":1,"value":"发震时刻(UTC+8)"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数10_文本","desc":"","relativeXPath":"/th[3]","allXPaths":["/th[3]","//th[contains(., '纬度(°)')]"],"exampleValues":[{"num":1,"value":"纬度(°)"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数11_文本","desc":"","relativeXPath":"/th[4]","allXPaths":["/th[4]","//th[contains(., '经度(°)')]"],"exampleValues":[{"num":1,"value":"经度(°)"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数12_文本","desc":"","relativeXPath":"/th[5]","allXPaths":["/th[5]","//th[contains(., '深度(千米)')]"],"exampleValues":[{"num":1,"value":"深度(千米)"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数13_文本","desc":"","relativeXPath":"/th[6]","allXPaths":["/th[6]","//th[contains(., '参考位置')]"],"exampleValues":[{"num":1,"value":"参考位置"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0}],"loopType":1}},{"id":5,"index":6,"parentId":4,"type":2,"option":9,"title":"判断条件","sequence":[7,8],"isInLoop":true,"position":0,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0}},{"id":6,"parentId":5,"index":7,"type":3,"option":10,"title":"条件分支","sequence":[5],"isInLoop":true,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"class":"7","value":"","code":"return arguments[0].innerText.indexOf(\"20\") >= 0","waitTime":0},"position":0},{"id":7,"parentId":5,"index":8,"type":3,"option":10,"title":"条件分支","sequence":[],"isInLoop":true,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"class":0,"value":"","code":"","waitTime":0},"position":1}]} \ No newline at end of file diff --git a/Releases/EasySpider_windows_amd64/execution_instances/2.json b/Releases/EasySpider_windows_amd64/execution_instances/2.json deleted file mode 100644 index 9e3d065..0000000 --- a/Releases/EasySpider_windows_amd64/execution_instances/2.json +++ /dev/null @@ -1 +0,0 @@ -{"id":2,"name":"地震台网判断案例","url":"http://www.ceic.ac.cn/history","links":"http://www.ceic.ac.cn/history","create_time":"5/20/2023, 5:35:52 PM","containJudge":true,"desc":"http://www.ceic.ac.cn/history","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"http://www.ceic.ac.cn/history","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"http://www.ceic.ac.cn/history"},{"id":1,"name":"inputText_1","nodeName":"输入文字","nodeId":2,"desc":"要输入的文本,如京东搜索框输入:电脑","type":"string","exampleValue":"1","value":"1"}],"outputParameters":[{"id":0,"name":"参数1_文本","desc":"","type":"string","exampleValue":"2.8"},{"id":1,"name":"参数2_文本","desc":"","type":"string","exampleValue":"2023-05-2011:51:38"},{"id":2,"name":"参数3_文本","desc":"","type":"string","exampleValue":"24.97"},{"id":3,"name":"参数4_文本","desc":"","type":"string","exampleValue":"99.26"},{"id":4,"name":"参数5_文本","desc":"","type":"string","exampleValue":"10"},{"id":5,"name":"参数6_链接文本","desc":"","type":"string","exampleValue":"云南保山市隆阳区"},{"id":6,"name":"参数7_链接地址","desc":"","type":"string","exampleValue":"https://news.ceic.ac.cn/CD20230520115138.html"},{"id":7,"name":"参数8_文本","desc":"","type":"string","exampleValue":"震级(M)"},{"id":8,"name":"参数9_文本","desc":"","type":"string","exampleValue":"发震时刻(UTC+8)"},{"id":9,"name":"参数10_文本","desc":"","type":"string","exampleValue":"纬度(°)"},{"id":10,"name":"参数11_文本","desc":"","type":"string","exampleValue":"经度(°)"},{"id":11,"name":"参数12_文本","desc":"","type":"string","exampleValue":"深度(千米)"},{"id":12,"name":"参数13_文本","desc":"","type":"string","exampleValue":"参考位置"}],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2,3,4],"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,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"http://www.ceic.ac.cn/history","links":"http://www.ceic.ac.cn/history","maxWaitTime":10,"scrollType":0,"scrollCount":0}},{"id":2,"index":2,"parentId":0,"type":0,"option":4,"title":"输入文字","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"weidu1\"]","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"value":"1","allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/div[1]/form[1]/div[2]/input[1]","//input[contains(., '')]","id(\"weidu1\")","//INPUT[@class='span1']","//INPUT[@name='weidu1']"]}},{"id":3,"index":3,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":2,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"search\"]","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/div[1]/form[1]/div[5]/a[1]","//a[contains(., '查询')]","id(\"search\")","//A[@class='check']"]}},{"id":4,"index":4,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[6],"isInLoop":false,"position":3,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"/html/body/div[1]/div[3]/div[1]/div[1]/div[2]/div[1]/div[1]/table[1]/tbody[1]/tr","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":0,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/div[2]/div[1]/div[1]/table[1]/tbody[1]/tr[1]","//tr[contains(., '震级(M)发震时刻(')]","//TR[@class='speed-tr-h1']"]}},{"id":8,"index":5,"parentId":6,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"paras":[{"nodeType":0,"contentType":1,"relative":true,"name":"参数1_文本","desc":"","relativeXPath":"/td[1]","allXPaths":["/td[1]","//td[contains(., '2.8')]"],"exampleValues":[{"num":0,"value":"2.8"},{"num":2,"value":"2.9"},{"num":3,"value":"5.7"},{"num":4,"value":"3.2"},{"num":5,"value":"3.9"},{"num":6,"value":"6.4"},{"num":7,"value":"4.5"},{"num":8,"value":"3.0"},{"num":9,"value":"5.5"},{"num":10,"value":"3.0"},{"num":11,"value":"5.3"},{"num":12,"value":"5.5"},{"num":13,"value":"4.0"},{"num":14,"value":"3.0"},{"num":15,"value":"4.2"},{"num":16,"value":"4.5"},{"num":17,"value":"5.9"},{"num":18,"value":"3.6"},{"num":19,"value":"3.3"},{"num":20,"value":"3.1"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数2_文本","desc":"","relativeXPath":"/td[2]","allXPaths":["/td[2]","//td[contains(., '2023-05-20')]"],"exampleValues":[{"num":0,"value":"2023-05-2011:51:38"},{"num":2,"value":"2023-05-2009:03:26"},{"num":3,"value":"2023-05-1923:15:03"},{"num":4,"value":"2023-05-1918:26:43"},{"num":5,"value":"2023-05-1905:18:32"},{"num":6,"value":"2023-05-1807:02:01"},{"num":7,"value":"2023-05-1705:56:23"},{"num":8,"value":"2023-05-1619:28:37"},{"num":9,"value":"2023-05-1418:11:34"},{"num":10,"value":"2023-05-1416:49:13"},{"num":11,"value":"2023-05-1416:21:42"},{"num":12,"value":"2023-05-1207:19:45"},{"num":13,"value":"2023-05-1206:07:18"},{"num":14,"value":"2023-05-1204:49:57"},{"num":15,"value":"2023-05-1204:32:10"},{"num":16,"value":"2023-05-1202:34:04"},{"num":17,"value":"2023-05-1121:33:11"},{"num":18,"value":"2023-05-1008:38:11"},{"num":19,"value":"2023-05-0919:23:29"},{"num":20,"value":"2023-05-0918:22:15"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数3_文本","desc":"","relativeXPath":"/td[3]","allXPaths":["/td[3]","//td[contains(., '24.97')]"],"exampleValues":[{"num":0,"value":"24.97"},{"num":2,"value":"34.26"},{"num":3,"value":"12.75"},{"num":4,"value":"41.31"},{"num":5,"value":"33.48"},{"num":6,"value":"15.10"},{"num":7,"value":"42.78"},{"num":8,"value":"28.08"},{"num":9,"value":"33.60"},{"num":10,"value":"38.14"},{"num":11,"value":"33.35"},{"num":12,"value":"40.25"},{"num":13,"value":"29.62"},{"num":14,"value":"29.66"},{"num":15,"value":"29.63"},{"num":16,"value":"29.64"},{"num":17,"value":"24.00"},{"num":18,"value":"28.11"},{"num":19,"value":"41.20"},{"num":20,"value":"35.78"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数4_文本","desc":"","relativeXPath":"/td[4]","allXPaths":["/td[4]","//td[contains(., '99.26')]"],"exampleValues":[{"num":0,"value":"99.26"},{"num":2,"value":"113.66"},{"num":3,"value":"49.00"},{"num":4,"value":"84.03"},{"num":5,"value":"91.05"},{"num":6,"value":"-90.90"},{"num":7,"value":"80.59"},{"num":8,"value":"105.12"},{"num":9,"value":"139.45"},{"num":10,"value":"75.66"},{"num":11,"value":"139.40"},{"num":12,"value":"-120.90"},{"num":13,"value":"102.03"},{"num":14,"value":"102.01"},{"num":15,"value":"102.02"},{"num":16,"value":"102.04"},{"num":17,"value":"125.40"},{"num":18,"value":"105.09"},{"num":19,"value":"83.28"},{"num":20,"value":"79.81"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数5_文本","desc":"","relativeXPath":"/td[5]","allXPaths":["/td[5]","//td[contains(., '10')]"],"exampleValues":[{"num":0,"value":"10"},{"num":2,"value":"10"},{"num":3,"value":"10"},{"num":4,"value":"10"},{"num":5,"value":"10"},{"num":6,"value":"250"},{"num":7,"value":"10"},{"num":8,"value":"10"},{"num":9,"value":"10"},{"num":10,"value":"118"},{"num":11,"value":"10"},{"num":12,"value":"10"},{"num":13,"value":"10"},{"num":14,"value":"9"},{"num":15,"value":"10"},{"num":16,"value":"10"},{"num":17,"value":"10"},{"num":18,"value":"8"},{"num":19,"value":"15"},{"num":20,"value":"10"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":1,"contentType":0,"relative":true,"name":"参数6_链接文本","desc":"","relativeXPath":"/td[6]/a[1]","allXPaths":["/td[6]/a[1]","//a[contains(., '云南保山市隆阳区')]","id(\"cid\")"],"exampleValues":[{"num":0,"value":"云南保山市隆阳区"},{"num":2,"value":"河南许昌市长葛市"},{"num":3,"value":"亚丁湾"},{"num":4,"value":"新疆巴音郭楞州轮台县"},{"num":5,"value":"青海海西州唐古拉地区"},{"num":6,"value":"危地马拉"},{"num":7,"value":"新疆伊犁州昭苏县"},{"num":8,"value":"四川宜宾市兴文县"},{"num":9,"value":"日本本州东南海域"},{"num":10,"value":"新疆克孜勒苏州阿克陶县"},{"num":11,"value":"日本本州东南海域"},{"num":12,"value":"美国加利福尼亚州"},{"num":13,"value":"四川甘孜州泸定县"},{"num":14,"value":"四川甘孜州泸定县"},{"num":15,"value":"四川甘孜州泸定县"},{"num":16,"value":"四川甘孜州泸定县"},{"num":17,"value":"琉球群岛"},{"num":18,"value":"四川宜宾市兴文县"},{"num":19,"value":"新疆阿克苏地区库车市"},{"num":20,"value":"新疆和田地区和田县"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":2,"contentType":0,"relative":true,"name":"参数7_链接地址","desc":"","relativeXPath":"/td[6]/a[1]","allXPaths":["/td[6]/a[1]","//a[contains(., '云南保山市隆阳区')]","id(\"cid\")"],"exampleValues":[{"num":0,"value":"https://news.ceic.ac.cn/CD20230520115138.html"},{"num":2,"value":"https://news.ceic.ac.cn/CD20230520090326.html"},{"num":3,"value":"https://news.ceic.ac.cn/CC20230519231504.html"},{"num":4,"value":"https://news.ceic.ac.cn/CD20230519182644.html"},{"num":5,"value":"https://news.ceic.ac.cn/CD20230519051833.html"},{"num":6,"value":"https://news.ceic.ac.cn/CC20230518070201.html"},{"num":7,"value":"https://news.ceic.ac.cn/CD20230517055623.html"},{"num":8,"value":"https://news.ceic.ac.cn/CD20230516192837.html"},{"num":9,"value":"https://news.ceic.ac.cn/CC20230514181134.html"},{"num":10,"value":"https://news.ceic.ac.cn/CD20230514164913.html"},{"num":11,"value":"https://news.ceic.ac.cn/CC20230514162142.html"},{"num":12,"value":"https://news.ceic.ac.cn/CC20230512071946.html"},{"num":13,"value":"https://news.ceic.ac.cn/CC20230512060719.html"},{"num":14,"value":"https://news.ceic.ac.cn/CD20230512044957.html"},{"num":15,"value":"https://news.ceic.ac.cn/CC20230512043211.html"},{"num":16,"value":"https://news.ceic.ac.cn/CC20230512023404.html"},{"num":17,"value":"https://news.ceic.ac.cn/CC20230511213311.html"},{"num":18,"value":"https://news.ceic.ac.cn/CC20230510083811.html"},{"num":19,"value":"https://news.ceic.ac.cn/CD20230509192329.html"},{"num":20,"value":"https://news.ceic.ac.cn/CD20230509182216.html"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数8_文本","desc":"","relativeXPath":"/th[1]","allXPaths":["/th[1]","//th[contains(., '震级(M)')]"],"exampleValues":[{"num":1,"value":"震级(M)"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数9_文本","desc":"","relativeXPath":"/th[2]","allXPaths":["/th[2]","//th[contains(., '发震时刻(UTC+8')]"],"exampleValues":[{"num":1,"value":"发震时刻(UTC+8)"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数10_文本","desc":"","relativeXPath":"/th[3]","allXPaths":["/th[3]","//th[contains(., '纬度(°)')]"],"exampleValues":[{"num":1,"value":"纬度(°)"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数11_文本","desc":"","relativeXPath":"/th[4]","allXPaths":["/th[4]","//th[contains(., '经度(°)')]"],"exampleValues":[{"num":1,"value":"经度(°)"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数12_文本","desc":"","relativeXPath":"/th[5]","allXPaths":["/th[5]","//th[contains(., '深度(千米)')]"],"exampleValues":[{"num":1,"value":"深度(千米)"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数13_文本","desc":"","relativeXPath":"/th[6]","allXPaths":["/th[6]","//th[contains(., '参考位置')]"],"exampleValues":[{"num":1,"value":"参考位置"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0}],"loopType":1}},{"id":5,"index":6,"parentId":4,"type":2,"option":9,"title":"判断条件","sequence":[7,8],"isInLoop":true,"position":0,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0}},{"id":6,"parentId":5,"index":7,"type":3,"option":10,"title":"条件分支","sequence":[5],"isInLoop":true,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"class":"7","value":"","code":"return document.evaluate(\"./td[5]\", arguments[0], null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.innerText.indexOf(\"20\") >= 0","waitTime":0},"position":0},{"id":7,"parentId":5,"index":8,"type":3,"option":10,"title":"条件分支","sequence":[],"isInLoop":true,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"class":0,"value":"","code":"","waitTime":0},"position":1}]} \ No newline at end of file diff --git a/Releases/EasySpider_windows_amd64/execution_instances/3.json b/Releases/EasySpider_windows_amd64/execution_instances/3.json deleted file mode 100644 index c17b101..0000000 --- a/Releases/EasySpider_windows_amd64/execution_instances/3.json +++ /dev/null @@ -1 +0,0 @@ -{"id":3,"name":"地震台网判断案例","url":"http://www.ceic.ac.cn/history","links":"http://www.ceic.ac.cn/history","create_time":"5/20/2023, 5:38:06 PM","containJudge":true,"desc":"http://www.ceic.ac.cn/history","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"http://www.ceic.ac.cn/history","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"http://www.ceic.ac.cn/history"},{"id":1,"name":"inputText_1","nodeName":"输入文字","nodeId":2,"desc":"要输入的文本,如京东搜索框输入:电脑","type":"string","exampleValue":"1","value":"1"}],"outputParameters":[{"id":0,"name":"参数1_文本","desc":"","type":"string","exampleValue":"2.8"},{"id":1,"name":"参数2_文本","desc":"","type":"string","exampleValue":"2023-05-2011:51:38"},{"id":2,"name":"参数3_文本","desc":"","type":"string","exampleValue":"24.97"},{"id":3,"name":"参数4_文本","desc":"","type":"string","exampleValue":"99.26"},{"id":4,"name":"参数5_文本","desc":"","type":"string","exampleValue":"10"},{"id":5,"name":"参数6_链接文本","desc":"","type":"string","exampleValue":"云南保山市隆阳区"},{"id":6,"name":"参数7_链接地址","desc":"","type":"string","exampleValue":"https://news.ceic.ac.cn/CD20230520115138.html"},{"id":7,"name":"参数8_文本","desc":"","type":"string","exampleValue":"震级(M)"},{"id":8,"name":"参数9_文本","desc":"","type":"string","exampleValue":"发震时刻(UTC+8)"},{"id":9,"name":"参数10_文本","desc":"","type":"string","exampleValue":"纬度(°)"},{"id":10,"name":"参数11_文本","desc":"","type":"string","exampleValue":"经度(°)"},{"id":11,"name":"参数12_文本","desc":"","type":"string","exampleValue":"深度(千米)"},{"id":12,"name":"参数13_文本","desc":"","type":"string","exampleValue":"参考位置"}],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2,3,4],"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,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"http://www.ceic.ac.cn/history","links":"http://www.ceic.ac.cn/history","maxWaitTime":10,"scrollType":0,"scrollCount":0}},{"id":2,"index":2,"parentId":0,"type":0,"option":4,"title":"输入文字","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"weidu1\"]","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"value":"1","allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/div[1]/form[1]/div[2]/input[1]","//input[contains(., '')]","id(\"weidu1\")","//INPUT[@class='span1']","//INPUT[@name='weidu1']"]}},{"id":3,"index":3,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":2,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"search\"]","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/div[1]/form[1]/div[5]/a[1]","//a[contains(., '查询')]","id(\"search\")","//A[@class='check']"]}},{"id":4,"index":4,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[6],"isInLoop":false,"position":3,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"/html/body/div[1]/div[3]/div[1]/div[1]/div[2]/div[1]/div[1]/table[1]/tbody[1]/tr","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":0,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/div[2]/div[1]/div[1]/table[1]/tbody[1]/tr[1]","//tr[contains(., '震级(M)发震时刻(')]","//TR[@class='speed-tr-h1']"]}},{"id":8,"index":5,"parentId":6,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"paras":[{"nodeType":0,"contentType":1,"relative":true,"name":"参数1_文本","desc":"","relativeXPath":"/td[1]","allXPaths":["/td[1]","//td[contains(., '2.8')]"],"exampleValues":[{"num":0,"value":"2.8"},{"num":2,"value":"2.9"},{"num":3,"value":"5.7"},{"num":4,"value":"3.2"},{"num":5,"value":"3.9"},{"num":6,"value":"6.4"},{"num":7,"value":"4.5"},{"num":8,"value":"3.0"},{"num":9,"value":"5.5"},{"num":10,"value":"3.0"},{"num":11,"value":"5.3"},{"num":12,"value":"5.5"},{"num":13,"value":"4.0"},{"num":14,"value":"3.0"},{"num":15,"value":"4.2"},{"num":16,"value":"4.5"},{"num":17,"value":"5.9"},{"num":18,"value":"3.6"},{"num":19,"value":"3.3"},{"num":20,"value":"3.1"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数2_文本","desc":"","relativeXPath":"/td[2]","allXPaths":["/td[2]","//td[contains(., '2023-05-20')]"],"exampleValues":[{"num":0,"value":"2023-05-2011:51:38"},{"num":2,"value":"2023-05-2009:03:26"},{"num":3,"value":"2023-05-1923:15:03"},{"num":4,"value":"2023-05-1918:26:43"},{"num":5,"value":"2023-05-1905:18:32"},{"num":6,"value":"2023-05-1807:02:01"},{"num":7,"value":"2023-05-1705:56:23"},{"num":8,"value":"2023-05-1619:28:37"},{"num":9,"value":"2023-05-1418:11:34"},{"num":10,"value":"2023-05-1416:49:13"},{"num":11,"value":"2023-05-1416:21:42"},{"num":12,"value":"2023-05-1207:19:45"},{"num":13,"value":"2023-05-1206:07:18"},{"num":14,"value":"2023-05-1204:49:57"},{"num":15,"value":"2023-05-1204:32:10"},{"num":16,"value":"2023-05-1202:34:04"},{"num":17,"value":"2023-05-1121:33:11"},{"num":18,"value":"2023-05-1008:38:11"},{"num":19,"value":"2023-05-0919:23:29"},{"num":20,"value":"2023-05-0918:22:15"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数3_文本","desc":"","relativeXPath":"/td[3]","allXPaths":["/td[3]","//td[contains(., '24.97')]"],"exampleValues":[{"num":0,"value":"24.97"},{"num":2,"value":"34.26"},{"num":3,"value":"12.75"},{"num":4,"value":"41.31"},{"num":5,"value":"33.48"},{"num":6,"value":"15.10"},{"num":7,"value":"42.78"},{"num":8,"value":"28.08"},{"num":9,"value":"33.60"},{"num":10,"value":"38.14"},{"num":11,"value":"33.35"},{"num":12,"value":"40.25"},{"num":13,"value":"29.62"},{"num":14,"value":"29.66"},{"num":15,"value":"29.63"},{"num":16,"value":"29.64"},{"num":17,"value":"24.00"},{"num":18,"value":"28.11"},{"num":19,"value":"41.20"},{"num":20,"value":"35.78"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数4_文本","desc":"","relativeXPath":"/td[4]","allXPaths":["/td[4]","//td[contains(., '99.26')]"],"exampleValues":[{"num":0,"value":"99.26"},{"num":2,"value":"113.66"},{"num":3,"value":"49.00"},{"num":4,"value":"84.03"},{"num":5,"value":"91.05"},{"num":6,"value":"-90.90"},{"num":7,"value":"80.59"},{"num":8,"value":"105.12"},{"num":9,"value":"139.45"},{"num":10,"value":"75.66"},{"num":11,"value":"139.40"},{"num":12,"value":"-120.90"},{"num":13,"value":"102.03"},{"num":14,"value":"102.01"},{"num":15,"value":"102.02"},{"num":16,"value":"102.04"},{"num":17,"value":"125.40"},{"num":18,"value":"105.09"},{"num":19,"value":"83.28"},{"num":20,"value":"79.81"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数5_文本","desc":"","relativeXPath":"/td[5]","allXPaths":["/td[5]","//td[contains(., '10')]"],"exampleValues":[{"num":0,"value":"10"},{"num":2,"value":"10"},{"num":3,"value":"10"},{"num":4,"value":"10"},{"num":5,"value":"10"},{"num":6,"value":"250"},{"num":7,"value":"10"},{"num":8,"value":"10"},{"num":9,"value":"10"},{"num":10,"value":"118"},{"num":11,"value":"10"},{"num":12,"value":"10"},{"num":13,"value":"10"},{"num":14,"value":"9"},{"num":15,"value":"10"},{"num":16,"value":"10"},{"num":17,"value":"10"},{"num":18,"value":"8"},{"num":19,"value":"15"},{"num":20,"value":"10"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":1,"contentType":0,"relative":true,"name":"参数6_链接文本","desc":"","relativeXPath":"/td[6]/a[1]","allXPaths":["/td[6]/a[1]","//a[contains(., '云南保山市隆阳区')]","id(\"cid\")"],"exampleValues":[{"num":0,"value":"云南保山市隆阳区"},{"num":2,"value":"河南许昌市长葛市"},{"num":3,"value":"亚丁湾"},{"num":4,"value":"新疆巴音郭楞州轮台县"},{"num":5,"value":"青海海西州唐古拉地区"},{"num":6,"value":"危地马拉"},{"num":7,"value":"新疆伊犁州昭苏县"},{"num":8,"value":"四川宜宾市兴文县"},{"num":9,"value":"日本本州东南海域"},{"num":10,"value":"新疆克孜勒苏州阿克陶县"},{"num":11,"value":"日本本州东南海域"},{"num":12,"value":"美国加利福尼亚州"},{"num":13,"value":"四川甘孜州泸定县"},{"num":14,"value":"四川甘孜州泸定县"},{"num":15,"value":"四川甘孜州泸定县"},{"num":16,"value":"四川甘孜州泸定县"},{"num":17,"value":"琉球群岛"},{"num":18,"value":"四川宜宾市兴文县"},{"num":19,"value":"新疆阿克苏地区库车市"},{"num":20,"value":"新疆和田地区和田县"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":2,"contentType":0,"relative":true,"name":"参数7_链接地址","desc":"","relativeXPath":"/td[6]/a[1]","allXPaths":["/td[6]/a[1]","//a[contains(., '云南保山市隆阳区')]","id(\"cid\")"],"exampleValues":[{"num":0,"value":"https://news.ceic.ac.cn/CD20230520115138.html"},{"num":2,"value":"https://news.ceic.ac.cn/CD20230520090326.html"},{"num":3,"value":"https://news.ceic.ac.cn/CC20230519231504.html"},{"num":4,"value":"https://news.ceic.ac.cn/CD20230519182644.html"},{"num":5,"value":"https://news.ceic.ac.cn/CD20230519051833.html"},{"num":6,"value":"https://news.ceic.ac.cn/CC20230518070201.html"},{"num":7,"value":"https://news.ceic.ac.cn/CD20230517055623.html"},{"num":8,"value":"https://news.ceic.ac.cn/CD20230516192837.html"},{"num":9,"value":"https://news.ceic.ac.cn/CC20230514181134.html"},{"num":10,"value":"https://news.ceic.ac.cn/CD20230514164913.html"},{"num":11,"value":"https://news.ceic.ac.cn/CC20230514162142.html"},{"num":12,"value":"https://news.ceic.ac.cn/CC20230512071946.html"},{"num":13,"value":"https://news.ceic.ac.cn/CC20230512060719.html"},{"num":14,"value":"https://news.ceic.ac.cn/CD20230512044957.html"},{"num":15,"value":"https://news.ceic.ac.cn/CC20230512043211.html"},{"num":16,"value":"https://news.ceic.ac.cn/CC20230512023404.html"},{"num":17,"value":"https://news.ceic.ac.cn/CC20230511213311.html"},{"num":18,"value":"https://news.ceic.ac.cn/CC20230510083811.html"},{"num":19,"value":"https://news.ceic.ac.cn/CD20230509192329.html"},{"num":20,"value":"https://news.ceic.ac.cn/CD20230509182216.html"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数8_文本","desc":"","relativeXPath":"/th[1]","allXPaths":["/th[1]","//th[contains(., '震级(M)')]"],"exampleValues":[{"num":1,"value":"震级(M)"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数9_文本","desc":"","relativeXPath":"/th[2]","allXPaths":["/th[2]","//th[contains(., '发震时刻(UTC+8')]"],"exampleValues":[{"num":1,"value":"发震时刻(UTC+8)"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数10_文本","desc":"","relativeXPath":"/th[3]","allXPaths":["/th[3]","//th[contains(., '纬度(°)')]"],"exampleValues":[{"num":1,"value":"纬度(°)"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数11_文本","desc":"","relativeXPath":"/th[4]","allXPaths":["/th[4]","//th[contains(., '经度(°)')]"],"exampleValues":[{"num":1,"value":"经度(°)"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数12_文本","desc":"","relativeXPath":"/th[5]","allXPaths":["/th[5]","//th[contains(., '深度(千米)')]"],"exampleValues":[{"num":1,"value":"深度(千米)"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数13_文本","desc":"","relativeXPath":"/th[6]","allXPaths":["/th[6]","//th[contains(., '参考位置')]"],"exampleValues":[{"num":1,"value":"参考位置"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0}],"loopType":1}},{"id":5,"index":6,"parentId":4,"type":2,"option":9,"title":"判断条件","sequence":[7,8],"isInLoop":true,"position":0,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0}},{"id":6,"parentId":5,"index":7,"type":3,"option":10,"title":"条件分支","sequence":[5],"isInLoop":true,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"class":"7","value":"","code":"return document.evaluate(\"./td[5]\", arguments[0], null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.innerText.indexOf(\"10\") >= 0","waitTime":0},"position":0},{"id":7,"parentId":5,"index":8,"type":3,"option":10,"title":"条件分支","sequence":[],"isInLoop":true,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"class":0,"value":"","code":"","waitTime":0},"position":1}]} \ No newline at end of file diff --git a/Releases/EasySpider_windows_amd64/execution_instances/4.json b/Releases/EasySpider_windows_amd64/execution_instances/4.json deleted file mode 100644 index b34d43f..0000000 --- a/Releases/EasySpider_windows_amd64/execution_instances/4.json +++ /dev/null @@ -1 +0,0 @@ -{"id":4,"name":"地震台网判断案例","url":"http://www.ceic.ac.cn/history","links":"http://www.ceic.ac.cn/history","create_time":"5/20/2023, 7:54:57 PM","containJudge":true,"desc":"http://www.ceic.ac.cn/history","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"http://www.ceic.ac.cn/history","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"http://www.ceic.ac.cn/history"},{"id":1,"name":"inputText_1","nodeName":"输入文字","nodeId":2,"desc":"要输入的文本,如京东搜索框输入:电脑","type":"string","exampleValue":"1","value":"1"}],"outputParameters":[{"id":0,"name":"参数1_文本","desc":"","type":"string","exampleValue":"2.8"},{"id":1,"name":"参数2_文本","desc":"","type":"string","exampleValue":"2023-05-2011:51:38"},{"id":2,"name":"参数3_文本","desc":"","type":"string","exampleValue":"24.97"},{"id":3,"name":"参数4_文本","desc":"","type":"string","exampleValue":"99.26"},{"id":4,"name":"参数5_文本","desc":"","type":"string","exampleValue":"10"},{"id":5,"name":"参数6_链接文本","desc":"","type":"string","exampleValue":"云南保山市隆阳区"},{"id":6,"name":"参数7_链接地址","desc":"","type":"string","exampleValue":"https://news.ceic.ac.cn/CD20230520115138.html"},{"id":7,"name":"参数8_文本","desc":"","type":"string","exampleValue":"震级(M)"},{"id":8,"name":"参数9_文本","desc":"","type":"string","exampleValue":"发震时刻(UTC+8)"},{"id":9,"name":"参数10_文本","desc":"","type":"string","exampleValue":"纬度(°)"},{"id":10,"name":"参数11_文本","desc":"","type":"string","exampleValue":"经度(°)"},{"id":11,"name":"参数12_文本","desc":"","type":"string","exampleValue":"深度(千米)"},{"id":12,"name":"参数13_文本","desc":"","type":"string","exampleValue":"参考位置"}],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2,3,4],"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,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"http://www.ceic.ac.cn/history","links":"http://www.ceic.ac.cn/history","maxWaitTime":10,"scrollType":0,"scrollCount":0}},{"id":2,"index":2,"parentId":0,"type":0,"option":4,"title":"输入文字","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"weidu1\"]","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"value":"1","allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/div[1]/form[1]/div[2]/input[1]","//input[contains(., '')]","id(\"weidu1\")","//INPUT[@class='span1']","//INPUT[@name='weidu1']"]}},{"id":3,"index":3,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":2,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"search\"]","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/div[1]/form[1]/div[5]/a[1]","//a[contains(., '查询')]","id(\"search\")","//A[@class='check']"]}},{"id":4,"index":4,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[6],"isInLoop":false,"position":3,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"/html/body/div[1]/div[3]/div[1]/div[1]/div[2]/div[1]/div[1]/table[1]/tbody[1]/tr","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":0,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"allXPaths":["/html/body/div[1]/div[3]/div[1]/div[1]/div[2]/div[1]/div[1]/table[1]/tbody[1]/tr[1]","//tr[contains(., '震级(M)发震时刻(')]","//TR[@class='speed-tr-h1']"]}},{"id":8,"index":5,"parentId":6,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"paras":[{"nodeType":0,"contentType":1,"relative":true,"name":"参数1_文本","desc":"","relativeXPath":"/td[1]","allXPaths":["/td[1]","//td[contains(., '2.8')]"],"exampleValues":[{"num":0,"value":"2.8"},{"num":2,"value":"2.9"},{"num":3,"value":"5.7"},{"num":4,"value":"3.2"},{"num":5,"value":"3.9"},{"num":6,"value":"6.4"},{"num":7,"value":"4.5"},{"num":8,"value":"3.0"},{"num":9,"value":"5.5"},{"num":10,"value":"3.0"},{"num":11,"value":"5.3"},{"num":12,"value":"5.5"},{"num":13,"value":"4.0"},{"num":14,"value":"3.0"},{"num":15,"value":"4.2"},{"num":16,"value":"4.5"},{"num":17,"value":"5.9"},{"num":18,"value":"3.6"},{"num":19,"value":"3.3"},{"num":20,"value":"3.1"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数2_文本","desc":"","relativeXPath":"/td[2]","allXPaths":["/td[2]","//td[contains(., '2023-05-20')]"],"exampleValues":[{"num":0,"value":"2023-05-2011:51:38"},{"num":2,"value":"2023-05-2009:03:26"},{"num":3,"value":"2023-05-1923:15:03"},{"num":4,"value":"2023-05-1918:26:43"},{"num":5,"value":"2023-05-1905:18:32"},{"num":6,"value":"2023-05-1807:02:01"},{"num":7,"value":"2023-05-1705:56:23"},{"num":8,"value":"2023-05-1619:28:37"},{"num":9,"value":"2023-05-1418:11:34"},{"num":10,"value":"2023-05-1416:49:13"},{"num":11,"value":"2023-05-1416:21:42"},{"num":12,"value":"2023-05-1207:19:45"},{"num":13,"value":"2023-05-1206:07:18"},{"num":14,"value":"2023-05-1204:49:57"},{"num":15,"value":"2023-05-1204:32:10"},{"num":16,"value":"2023-05-1202:34:04"},{"num":17,"value":"2023-05-1121:33:11"},{"num":18,"value":"2023-05-1008:38:11"},{"num":19,"value":"2023-05-0919:23:29"},{"num":20,"value":"2023-05-0918:22:15"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数3_文本","desc":"","relativeXPath":"/td[3]","allXPaths":["/td[3]","//td[contains(., '24.97')]"],"exampleValues":[{"num":0,"value":"24.97"},{"num":2,"value":"34.26"},{"num":3,"value":"12.75"},{"num":4,"value":"41.31"},{"num":5,"value":"33.48"},{"num":6,"value":"15.10"},{"num":7,"value":"42.78"},{"num":8,"value":"28.08"},{"num":9,"value":"33.60"},{"num":10,"value":"38.14"},{"num":11,"value":"33.35"},{"num":12,"value":"40.25"},{"num":13,"value":"29.62"},{"num":14,"value":"29.66"},{"num":15,"value":"29.63"},{"num":16,"value":"29.64"},{"num":17,"value":"24.00"},{"num":18,"value":"28.11"},{"num":19,"value":"41.20"},{"num":20,"value":"35.78"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数4_文本","desc":"","relativeXPath":"/td[4]","allXPaths":["/td[4]","//td[contains(., '99.26')]"],"exampleValues":[{"num":0,"value":"99.26"},{"num":2,"value":"113.66"},{"num":3,"value":"49.00"},{"num":4,"value":"84.03"},{"num":5,"value":"91.05"},{"num":6,"value":"-90.90"},{"num":7,"value":"80.59"},{"num":8,"value":"105.12"},{"num":9,"value":"139.45"},{"num":10,"value":"75.66"},{"num":11,"value":"139.40"},{"num":12,"value":"-120.90"},{"num":13,"value":"102.03"},{"num":14,"value":"102.01"},{"num":15,"value":"102.02"},{"num":16,"value":"102.04"},{"num":17,"value":"125.40"},{"num":18,"value":"105.09"},{"num":19,"value":"83.28"},{"num":20,"value":"79.81"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数5_文本","desc":"","relativeXPath":"/td[5]","allXPaths":["/td[5]","//td[contains(., '10')]"],"exampleValues":[{"num":0,"value":"10"},{"num":2,"value":"10"},{"num":3,"value":"10"},{"num":4,"value":"10"},{"num":5,"value":"10"},{"num":6,"value":"250"},{"num":7,"value":"10"},{"num":8,"value":"10"},{"num":9,"value":"10"},{"num":10,"value":"118"},{"num":11,"value":"10"},{"num":12,"value":"10"},{"num":13,"value":"10"},{"num":14,"value":"9"},{"num":15,"value":"10"},{"num":16,"value":"10"},{"num":17,"value":"10"},{"num":18,"value":"8"},{"num":19,"value":"15"},{"num":20,"value":"10"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":1,"contentType":0,"relative":true,"name":"参数6_链接文本","desc":"","relativeXPath":"/td[6]/a[1]","allXPaths":["/td[6]/a[1]","//a[contains(., '云南保山市隆阳区')]","id(\"cid\")"],"exampleValues":[{"num":0,"value":"云南保山市隆阳区"},{"num":2,"value":"河南许昌市长葛市"},{"num":3,"value":"亚丁湾"},{"num":4,"value":"新疆巴音郭楞州轮台县"},{"num":5,"value":"青海海西州唐古拉地区"},{"num":6,"value":"危地马拉"},{"num":7,"value":"新疆伊犁州昭苏县"},{"num":8,"value":"四川宜宾市兴文县"},{"num":9,"value":"日本本州东南海域"},{"num":10,"value":"新疆克孜勒苏州阿克陶县"},{"num":11,"value":"日本本州东南海域"},{"num":12,"value":"美国加利福尼亚州"},{"num":13,"value":"四川甘孜州泸定县"},{"num":14,"value":"四川甘孜州泸定县"},{"num":15,"value":"四川甘孜州泸定县"},{"num":16,"value":"四川甘孜州泸定县"},{"num":17,"value":"琉球群岛"},{"num":18,"value":"四川宜宾市兴文县"},{"num":19,"value":"新疆阿克苏地区库车市"},{"num":20,"value":"新疆和田地区和田县"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":2,"contentType":0,"relative":true,"name":"参数7_链接地址","desc":"","relativeXPath":"/td[6]/a[1]","allXPaths":["/td[6]/a[1]","//a[contains(., '云南保山市隆阳区')]","id(\"cid\")"],"exampleValues":[{"num":0,"value":"https://news.ceic.ac.cn/CD20230520115138.html"},{"num":2,"value":"https://news.ceic.ac.cn/CD20230520090326.html"},{"num":3,"value":"https://news.ceic.ac.cn/CC20230519231504.html"},{"num":4,"value":"https://news.ceic.ac.cn/CD20230519182644.html"},{"num":5,"value":"https://news.ceic.ac.cn/CD20230519051833.html"},{"num":6,"value":"https://news.ceic.ac.cn/CC20230518070201.html"},{"num":7,"value":"https://news.ceic.ac.cn/CD20230517055623.html"},{"num":8,"value":"https://news.ceic.ac.cn/CD20230516192837.html"},{"num":9,"value":"https://news.ceic.ac.cn/CC20230514181134.html"},{"num":10,"value":"https://news.ceic.ac.cn/CD20230514164913.html"},{"num":11,"value":"https://news.ceic.ac.cn/CC20230514162142.html"},{"num":12,"value":"https://news.ceic.ac.cn/CC20230512071946.html"},{"num":13,"value":"https://news.ceic.ac.cn/CC20230512060719.html"},{"num":14,"value":"https://news.ceic.ac.cn/CD20230512044957.html"},{"num":15,"value":"https://news.ceic.ac.cn/CC20230512043211.html"},{"num":16,"value":"https://news.ceic.ac.cn/CC20230512023404.html"},{"num":17,"value":"https://news.ceic.ac.cn/CC20230511213311.html"},{"num":18,"value":"https://news.ceic.ac.cn/CC20230510083811.html"},{"num":19,"value":"https://news.ceic.ac.cn/CD20230509192329.html"},{"num":20,"value":"https://news.ceic.ac.cn/CD20230509182216.html"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数8_文本","desc":"","relativeXPath":"/th[1]","allXPaths":["/th[1]","//th[contains(., '震级(M)')]"],"exampleValues":[{"num":1,"value":"震级(M)"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数9_文本","desc":"","relativeXPath":"/th[2]","allXPaths":["/th[2]","//th[contains(., '发震时刻(UTC+8')]"],"exampleValues":[{"num":1,"value":"发震时刻(UTC+8)"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数10_文本","desc":"","relativeXPath":"/th[3]","allXPaths":["/th[3]","//th[contains(., '纬度(°)')]"],"exampleValues":[{"num":1,"value":"纬度(°)"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数11_文本","desc":"","relativeXPath":"/th[4]","allXPaths":["/th[4]","//th[contains(., '经度(°)')]"],"exampleValues":[{"num":1,"value":"经度(°)"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数12_文本","desc":"","relativeXPath":"/th[5]","allXPaths":["/th[5]","//th[contains(., '深度(千米)')]"],"exampleValues":[{"num":1,"value":"深度(千米)"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数13_文本","desc":"","relativeXPath":"/th[6]","allXPaths":["/th[6]","//th[contains(., '参考位置')]"],"exampleValues":[{"num":1,"value":"参考位置"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0}],"loopType":1}},{"id":5,"index":6,"parentId":4,"type":2,"option":9,"title":"判断条件","sequence":[7,8],"isInLoop":true,"position":0,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0}},{"id":6,"parentId":5,"index":7,"type":3,"option":10,"title":"条件分支 - 表格中第五项包括字符串","sequence":[5],"isInLoop":true,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"class":"7","value":"","code":"return document.evaluate(\"./td[5]\", arguments[0], null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.innerText.indexOf(\"5\") >= 0","waitTime":0},"position":0},{"id":7,"parentId":5,"index":8,"type":3,"option":10,"title":"条件分支","sequence":[],"isInLoop":true,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"class":0,"value":"","code":"","waitTime":0},"position":1}]} \ No newline at end of file
IDNo. {{"Task Name~任务名称" | lang}} URL {{"Operations~操作" | lang}}