From 0f5c6a89bf976197192957cdffee196ff5559d33 Mon Sep 17 00:00:00 2001
From: naibo
Date: Tue, 26 Dec 2023 21:06:29 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=9C=80=E7=BB=88XPath?=
=?UTF-8?q?=E6=8F=90=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../EasySpider_windows_x32/readme.txt | 2 +-
.../EasySpider_windows_x32/软件使用说明.txt | 2 +-
.../EasySpider_windows_x64/Readme.txt | 4 +-
.../EasySpider_windows_x64/tasks/212.json | 872 +-----------------
.../EasySpider_windows_x64/软件使用说明.txt | 4 +-
ElectronJS/src/taskGrid/FlowChart.html | 74 +-
ElectronJS/src/taskGrid/FlowChart.js | 46 +-
ElectronJS/src/taskGrid/FlowChart_CN.html | 76 +-
ElectronJS/src/taskGrid/logic.js | 25 +-
ElectronJS/tasks/308.json | 2 +-
ElectronJS/tasks/310.json | 1 +
ExecuteStage/.vscode/launch.json | 2 +-
ExecuteStage/easyspider_executestage.py | 2 +
ExecuteStage/myCode.py | 19 +-
14 files changed, 173 insertions(+), 958 deletions(-)
create mode 100644 ElectronJS/tasks/310.json
diff --git a/.temp_to_pub/EasySpider_windows_x32/readme.txt b/.temp_to_pub/EasySpider_windows_x32/readme.txt
index b0d0cd6..6bf834d 100644
--- a/.temp_to_pub/EasySpider_windows_x32/readme.txt
+++ b/.temp_to_pub/EasySpider_windows_x32/readme.txt
@@ -2,7 +2,7 @@ Official Site: https://www.easyspider.net
Welcome to promote this software to other friends.
-This version is for Windows 7 and above, including both 32-bit and 64-bit version. Please note that this version of the Chrome browser will always remain at version 109 and will not update with Chrome updates (for compatibility with Windows 7). Therefore, if you want to use the latest version of the Chrome browser for data scraping, please run the x64 version of EasySpider on Windows 10 x64 or higher systems.
+This version is for Windows 7 and above, including both 32-bit and 64-bit version. Please note that this version of the Chrome browser will always remain at version 109 and will not update with Chrome updates (for compatibility with Windows 7). Therefore, if you want to use the latest version of the Chrome browser for data scraping, please run the x64 version of EasySpider on Windows 10 x64 or higher systems. There is no version support for Windows Server 2012 and below. These systems require manual compilation for execution.
Video Tutorial: https://youtube.com/playlist?list=PL0kEFEkWrT7mt9MUlEBV2DTo1QsaanUTp
diff --git a/.temp_to_pub/EasySpider_windows_x32/软件使用说明.txt b/.temp_to_pub/EasySpider_windows_x32/软件使用说明.txt
index 8452be1..7852a22 100644
--- a/.temp_to_pub/EasySpider_windows_x32/软件使用说明.txt
+++ b/.temp_to_pub/EasySpider_windows_x32/软件使用说明.txt
@@ -2,7 +2,7 @@
官方网址: https://www.easyspider.cn
-支持Windows 7及以上版本,包括32位系统和64位系统。注意此版本的Chrome浏览器永远都是109,不会随着Chrome更新而更新(为了兼容Win 7系统),因此如果想用最新版Chrome浏览器采集数据,请在Windows 10 x64及以上系统上运行x64版本的EasySpider。
+支持Windows 7及以上版本,包括32位系统和64位系统。注意此版本的Chrome浏览器永远都是109,不会随着Chrome更新而更新(为了兼容Win 7系统),因此如果想用最新版Chrome浏览器采集数据,请在Windows 10 x64及以上系统上运行x64版本的EasySpider。无任何版本支持Windows Server 2012及以下版本系统,这些系统下需要自行编译运行。
视频教程:https://www.bilibili.com/video/BV1th411A7ey/
diff --git a/.temp_to_pub/EasySpider_windows_x64/Readme.txt b/.temp_to_pub/EasySpider_windows_x64/Readme.txt
index 11fd936..78dce7c 100644
--- a/.temp_to_pub/EasySpider_windows_x64/Readme.txt
+++ b/.temp_to_pub/EasySpider_windows_x64/Readme.txt
@@ -2,9 +2,9 @@ Official Site: https://www.easyspider.net
Welcome to promote this software to other friends.
-This version is for Windows 10 x64 and above.
+This version is for Windows 10/Windows Server 2016 x64 and above.
-The Windows version supports **Windows 10 and above**. If you want to use EasySpider on windows 7, please download the Windows x32 version of EasySpider.
+The Windows version supports **Windows 10 and above**. If you want to use EasySpider on windows 7, please download the Windows x32 version of EasySpider. There is no version support for Windows Server 2012 and below. These systems require manual compilation for execution.
Video Tutorial: https://youtube.com/playlist?list=PL0kEFEkWrT7mt9MUlEBV2DTo1QsaanUTp
diff --git a/.temp_to_pub/EasySpider_windows_x64/tasks/212.json b/.temp_to_pub/EasySpider_windows_x64/tasks/212.json
index 1d4e67c..96f128f 100644
--- a/.temp_to_pub/EasySpider_windows_x64/tasks/212.json
+++ b/.temp_to_pub/EasySpider_windows_x64/tasks/212.json
@@ -1,871 +1 @@
-{
- "id": 212,
- "name": "中国地震台网——历史查询",
- "url": "https://www.ceic.ac.cn/history",
- "links": "https://www.ceic.ac.cn/history",
- "create_time": "12/4/2023, 2:50:18 AM",
- "update_time": "12/4/2023, 2:50:18 AM",
- "version": "0.6.0",
- "saveThreshold": 10,
- "cloudflare": 0,
- "environment": 0,
- "maxViewLength": 15,
- "recordLog": 1,
- "outputFormat": "xlsx",
- "saveName": "current_time",
- "inputExcel": "",
- "startFromExit": 0,
- "containJudge": false,
- "desc": "https://www.ceic.ac.cn/history",
- "inputParameters": [
- {
- "id": 0,
- "name": "urlList_0",
- "nodeId": 1,
- "nodeName": "打开网页",
- "value": "https://www.ceic.ac.cn/history",
- "desc": "要采集的网址列表,多行以\\n分开",
- "type": "text",
- "exampleValue": "https://www.ceic.ac.cn/history"
- },
- {
- "id": 1,
- "name": "inputText_1",
- "nodeName": "输入文字",
- "nodeId": 2,
- "desc": "要输入的文本,如京东搜索框输入:电脑",
- "type": "text",
- "exampleValue": "15",
- "value": "15"
- },
- {
- "id": 2,
- "name": "loopTimes_循环_2",
- "nodeId": 4,
- "nodeName": "循环",
- "desc": "循环循环执行的次数(0代表无限循环)",
- "type": "int",
- "exampleValue": 0,
- "value": 0
- }
- ],
- "outputParameters": [
- {
- "id": 0,
- "name": "参数1_文本",
- "desc": "",
- "type": "text",
- "recordASField": 1,
- "exampleValue": "4.7"
- },
- {
- "id": 1,
- "name": "参数2_文本",
- "desc": "",
- "type": "text",
- "recordASField": 1,
- "exampleValue": "2023-11-1100:54:38"
- },
- {
- "id": 2,
- "name": "参数3_文本",
- "desc": "",
- "type": "text",
- "recordASField": 1,
- "exampleValue": "23.42"
- },
- {
- "id": 3,
- "name": "参数4_文本",
- "desc": "",
- "type": "text",
- "recordASField": 1,
- "exampleValue": "121.70"
- },
- {
- "id": 4,
- "name": "参数5_文本",
- "desc": "",
- "type": "text",
- "recordASField": 1,
- "exampleValue": "30"
- },
- {
- "id": 5,
- "name": "参数6_链接文本",
- "desc": "",
- "type": "text",
- "recordASField": 1,
- "exampleValue": "台湾台东县海域"
- },
- {
- "id": 6,
- "name": "参数7_链接地址",
- "desc": "",
- "type": "text",
- "recordASField": 1,
- "exampleValue": "https://news.ceic.ac.cn/CD20231111005438.html"
- },
- {
- "id": 7,
- "name": "参数8_文本",
- "desc": "",
- "type": "text",
- "recordASField": 1,
- "exampleValue": "震级(M)"
- },
- {
- "id": 8,
- "name": "参数9_文本",
- "desc": "",
- "type": "text",
- "recordASField": 1,
- "exampleValue": "发震时刻(UTC+8)"
- },
- {
- "id": 9,
- "name": "参数10_文本",
- "desc": "",
- "type": "text",
- "recordASField": 1,
- "exampleValue": "纬度(°)"
- },
- {
- "id": 10,
- "name": "参数11_文本",
- "desc": "",
- "type": "text",
- "recordASField": 1,
- "exampleValue": "经度(°)"
- },
- {
- "id": 11,
- "name": "参数12_文本",
- "desc": "",
- "type": "text",
- "recordASField": 1,
- "exampleValue": "深度(千米)"
- },
- {
- "id": 12,
- "name": "参数13_文本",
- "desc": "",
- "type": "text",
- "recordASField": 1,
- "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": "",
- "iframe": false,
- "wait": 0,
- "waitType": 0,
- "beforeJS": "",
- "beforeJSWaitTime": 0,
- "afterJS": "",
- "afterJSWaitTime": 0,
- "waitElement": "",
- "waitElementTime": 10,
- "waitElementIframeIndex": 0
- },
- "isInLoop": false
- },
- {
- "id": 1,
- "index": 1,
- "parentId": 0,
- "type": 0,
- "option": 1,
- "title": "打开网页",
- "sequence": [],
- "isInLoop": false,
- "position": 0,
- "parameters": {
- "useLoop": false,
- "xpath": "",
- "wait": 0,
- "waitType": 0,
- "beforeJS": "",
- "beforeJSWaitTime": 0,
- "afterJS": "",
- "afterJSWaitTime": 0,
- "waitElement": "",
- "waitElementTime": 10,
- "waitElementIframeIndex": 0,
- "url": "https://www.ceic.ac.cn/history",
- "links": "https://www.ceic.ac.cn/history",
- "maxWaitTime": 10,
- "scrollType": 0,
- "scrollCount": 1,
- "scrollWaitTime": 1,
- "cookies": ""
- }
- },
- {
- "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\"]",
- "iframe": false,
- "wait": 0,
- "waitType": 0,
- "beforeJS": "",
- "beforeJSWaitTime": 0,
- "afterJS": "",
- "afterJSWaitTime": 0,
- "waitElement": "",
- "waitElementTime": 10,
- "waitElementIframeIndex": 0,
- "value": "15",
- "index": 0,
- "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']",
- "/html/body/div[last()-3]/div[last()-1]/div/div/div[last()-1]/form/div[last()-3]/input[last()-1]"
- ]
- }
- },
- {
- "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\"]",
- "iframe": false,
- "wait": 2,
- "waitType": 0,
- "beforeJS": "",
- "beforeJSWaitTime": 0,
- "afterJS": "",
- "afterJSWaitTime": 0,
- "waitElement": "",
- "waitElementTime": 10,
- "waitElementIframeIndex": 0,
- "scrollType": 0,
- "scrollCount": 1,
- "scrollWaitTime": 1,
- "clickWay": 0,
- "maxWaitTime": 10,
- "params": [],
- "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']",
- "/html/body/div[last()-3]/div[last()-1]/div/div/div[last()-1]/form/div/a"
- ]
- }
- },
- {
- "id": 4,
- "index": 4,
- "parentId": 0,
- "type": 1,
- "option": 8,
- "title": "循环",
- "sequence": [
- 6,
- 5
- ],
- "isInLoop": false,
- "position": 3,
- "parameters": {
- "history": 4,
- "tabIndex": -1,
- "useLoop": false,
- "xpath": "//*[contains(@class, \"pagination\")]/ul[1]/li[last()-1]/a[1]",
- "iframe": false,
- "wait": 0,
- "waitType": 0,
- "beforeJS": "",
- "beforeJSWaitTime": 0,
- "afterJS": "",
- "afterJSWaitTime": 0,
- "waitElement": "",
- "waitElementTime": 10,
- "waitElementIframeIndex": 0,
- "scrollType": 0,
- "scrollCount": 1,
- "scrollWaitTime": 1,
- "loopType": 0,
- "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[2]/div[1]/div[1]/ul[1]/li[10]/a[1]",
- "//a[contains(., '»')]",
- "/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div/div/div/ul/li[last()-1]/a"
- ]
- }
- },
- {
- "id": 6,
- "index": 5,
- "parentId": 4,
- "type": 0,
- "option": 2,
- "title": "点击»",
- "sequence": [],
- "isInLoop": true,
- "position": 1,
- "parameters": {
- "history": 4,
- "tabIndex": -1,
- "useLoop": true,
- "xpath": "",
- "iframe": false,
- "wait": 2,
- "waitType": 0,
- "beforeJS": "",
- "beforeJSWaitTime": 0,
- "afterJS": "",
- "afterJSWaitTime": 0,
- "waitElement": "",
- "waitElementTime": 10,
- "waitElementIframeIndex": 0,
- "scrollType": 0,
- "scrollCount": 1,
- "scrollWaitTime": 1,
- "clickWay": 0,
- "maxWaitTime": 10,
- "params": [],
- "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(., '»')]",
- "/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div/div/div/ul/li[last()-1]/a"
- ],
- "loopType": 0
- }
- },
- {
- "id": 5,
- "index": 6,
- "parentId": 4,
- "type": 1,
- "option": 8,
- "title": "循环",
- "sequence": [
- 7
- ],
- "isInLoop": true,
- "position": 0,
- "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",
- "iframe": false,
- "wait": 0,
- "waitType": 0,
- "beforeJS": "",
- "beforeJSWaitTime": 0,
- "afterJS": "",
- "afterJSWaitTime": 0,
- "waitElement": "",
- "waitElementTime": 10,
- "waitElementIframeIndex": 0,
- "scrollType": 0,
- "scrollCount": 1,
- "scrollWaitTime": 1,
- "loopType": 1,
- "pathList": "",
- "textList": "",
- "code": "",
- "waitTime": 0,
- "exitCount": 0,
- "historyWait": 2,
- "breakMode": 0,
- "breakCode": "",
- "breakCodeWaitTime": 0,
- "allXPaths": [
- "/html/body/div[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']",
- "/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr[last()-20]"
- ]
- }
- },
- {
- "id": 7,
- "index": 7,
- "parentId": 5,
- "type": 0,
- "option": 3,
- "title": "提取数据",
- "sequence": [],
- "isInLoop": true,
- "position": 0,
- "parameters": {
- "history": 4,
- "tabIndex": -1,
- "useLoop": false,
- "xpath": "",
- "iframe": false,
- "wait": 0,
- "waitType": 0,
- "beforeJS": "",
- "beforeJSWaitTime": 0,
- "afterJS": "",
- "afterJSWaitTime": 0,
- "waitElement": "",
- "waitElementTime": 10,
- "waitElementIframeIndex": 0,
- "clear": 0,
- "newLine": 1,
- "params": [
- {
- "nodeType": 0,
- "contentType": 1,
- "relative": true,
- "name": "参数1_文本",
- "desc": "",
- "relativeXPath": "/td[1]",
- "allXPaths": [
- "/td[1]",
- "//td[contains(., '4.7')]",
- "/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr/td[last()-5]"
- ],
- "exampleValues": [
- {
- "num": 0,
- "value": "4.7"
- }
- ],
- "unique_index": "/td[1]",
- "iframe": false,
- "default": "",
- "paraType": "text",
- "recordASField": 1,
- "beforeJS": "",
- "beforeJSWaitTime": 0,
- "JS": "",
- "JSWaitTime": 0,
- "afterJS": "",
- "afterJSWaitTime": 0,
- "downloadPic": 0
- },
- {
- "nodeType": 0,
- "contentType": 1,
- "relative": true,
- "name": "参数2_文本",
- "desc": "",
- "relativeXPath": "/td[2]",
- "allXPaths": [
- "/td[2]",
- "//td[contains(., '2023-11-11')]",
- "/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr/td[last()-4]"
- ],
- "exampleValues": [
- {
- "num": 0,
- "value": "2023-11-1100:54:38"
- }
- ],
- "unique_index": "/td[2]",
- "iframe": false,
- "default": "",
- "paraType": "text",
- "recordASField": 1,
- "beforeJS": "",
- "beforeJSWaitTime": 0,
- "JS": "",
- "JSWaitTime": 0,
- "afterJS": "",
- "afterJSWaitTime": 0,
- "downloadPic": 0
- },
- {
- "nodeType": 0,
- "contentType": 1,
- "relative": true,
- "name": "参数3_文本",
- "desc": "",
- "relativeXPath": "/td[3]",
- "allXPaths": [
- "/td[3]",
- "//td[contains(., '23.42')]",
- "/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr/td[last()-3]"
- ],
- "exampleValues": [
- {
- "num": 0,
- "value": "23.42"
- }
- ],
- "unique_index": "/td[3]",
- "iframe": false,
- "default": "",
- "paraType": "text",
- "recordASField": 1,
- "beforeJS": "",
- "beforeJSWaitTime": 0,
- "JS": "",
- "JSWaitTime": 0,
- "afterJS": "",
- "afterJSWaitTime": 0,
- "downloadPic": 0
- },
- {
- "nodeType": 0,
- "contentType": 1,
- "relative": true,
- "name": "参数4_文本",
- "desc": "",
- "relativeXPath": "/td[4]",
- "allXPaths": [
- "/td[4]",
- "//td[contains(., '121.70')]",
- "/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr/td[last()-2]"
- ],
- "exampleValues": [
- {
- "num": 0,
- "value": "121.70"
- }
- ],
- "unique_index": "/td[4]",
- "iframe": false,
- "default": "",
- "paraType": "text",
- "recordASField": 1,
- "beforeJS": "",
- "beforeJSWaitTime": 0,
- "JS": "",
- "JSWaitTime": 0,
- "afterJS": "",
- "afterJSWaitTime": 0,
- "downloadPic": 0
- },
- {
- "nodeType": 0,
- "contentType": 1,
- "relative": true,
- "name": "参数5_文本",
- "desc": "",
- "relativeXPath": "/td[5]",
- "allXPaths": [
- "/td[5]",
- "//td[contains(., '30')]",
- "/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr/td[last()-1]"
- ],
- "exampleValues": [
- {
- "num": 0,
- "value": "30"
- }
- ],
- "unique_index": "/td[5]",
- "iframe": false,
- "default": "",
- "paraType": "text",
- "recordASField": 1,
- "beforeJS": "",
- "beforeJSWaitTime": 0,
- "JS": "",
- "JSWaitTime": 0,
- "afterJS": "",
- "afterJSWaitTime": 0,
- "downloadPic": 0
- },
- {
- "nodeType": 1,
- "contentType": 0,
- "relative": true,
- "name": "参数6_链接文本",
- "desc": "",
- "relativeXPath": "/td[6]/a[1]",
- "allXPaths": [
- "/td[6]/a[1]",
- "//a[contains(., '台湾台东县海域')]",
- "id(\"cid\")",
- "/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr/td/a"
- ],
- "exampleValues": [
- {
- "num": 0,
- "value": "台湾台东县海域"
- }
- ],
- "unique_index": "/td[6]/a[1]",
- "iframe": false,
- "default": "",
- "paraType": "text",
- "recordASField": 1,
- "beforeJS": "",
- "beforeJSWaitTime": 0,
- "JS": "",
- "JSWaitTime": 0,
- "afterJS": "",
- "afterJSWaitTime": 0,
- "downloadPic": 0
- },
- {
- "nodeType": 2,
- "contentType": 0,
- "relative": true,
- "name": "参数7_链接地址",
- "desc": "",
- "relativeXPath": "/td[6]/a[1]",
- "allXPaths": [
- "/td[6]/a[1]",
- "//a[contains(., '台湾台东县海域')]",
- "id(\"cid\")",
- "/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr/td/a"
- ],
- "exampleValues": [
- {
- "num": 0,
- "value": "https://news.ceic.ac.cn/CD20231111005438.html"
- }
- ],
- "unique_index": "/td[6]/a[1]",
- "iframe": false,
- "default": "",
- "paraType": "text",
- "recordASField": 1,
- "beforeJS": "",
- "beforeJSWaitTime": 0,
- "JS": "",
- "JSWaitTime": 0,
- "afterJS": "",
- "afterJSWaitTime": 0,
- "downloadPic": 0
- },
- {
- "nodeType": 0,
- "contentType": 1,
- "relative": true,
- "name": "参数8_文本",
- "desc": "",
- "relativeXPath": "/th[1]",
- "allXPaths": [
- "/th[1]",
- "//th[contains(., '震级(M)')]",
- "/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr[last()-20]/th[last()-5]"
- ],
- "exampleValues": [
- {
- "num": 1,
- "value": "震级(M)"
- }
- ],
- "unique_index": "/th[1]",
- "iframe": false,
- "default": "",
- "paraType": "text",
- "recordASField": 1,
- "beforeJS": "",
- "beforeJSWaitTime": 0,
- "JS": "",
- "JSWaitTime": 0,
- "afterJS": "",
- "afterJSWaitTime": 0,
- "downloadPic": 0
- },
- {
- "nodeType": 0,
- "contentType": 1,
- "relative": true,
- "name": "参数9_文本",
- "desc": "",
- "relativeXPath": "/th[2]",
- "allXPaths": [
- "/th[2]",
- "//th[contains(., '发震时刻(UTC+8')]",
- "/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr[last()-20]/th[last()-4]"
- ],
- "exampleValues": [
- {
- "num": 1,
- "value": "发震时刻(UTC+8)"
- }
- ],
- "unique_index": "/th[2]",
- "iframe": false,
- "default": "",
- "paraType": "text",
- "recordASField": 1,
- "beforeJS": "",
- "beforeJSWaitTime": 0,
- "JS": "",
- "JSWaitTime": 0,
- "afterJS": "",
- "afterJSWaitTime": 0,
- "downloadPic": 0
- },
- {
- "nodeType": 0,
- "contentType": 1,
- "relative": true,
- "name": "参数10_文本",
- "desc": "",
- "relativeXPath": "/th[3]",
- "allXPaths": [
- "/th[3]",
- "//th[contains(., '纬度(°)')]",
- "/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr[last()-20]/th[last()-3]"
- ],
- "exampleValues": [
- {
- "num": 1,
- "value": "纬度(°)"
- }
- ],
- "unique_index": "/th[3]",
- "iframe": false,
- "default": "",
- "paraType": "text",
- "recordASField": 1,
- "beforeJS": "",
- "beforeJSWaitTime": 0,
- "JS": "",
- "JSWaitTime": 0,
- "afterJS": "",
- "afterJSWaitTime": 0,
- "downloadPic": 0
- },
- {
- "nodeType": 0,
- "contentType": 1,
- "relative": true,
- "name": "参数11_文本",
- "desc": "",
- "relativeXPath": "/th[4]",
- "allXPaths": [
- "/th[4]",
- "//th[contains(., '经度(°)')]",
- "/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr[last()-20]/th[last()-2]"
- ],
- "exampleValues": [
- {
- "num": 1,
- "value": "经度(°)"
- }
- ],
- "unique_index": "/th[4]",
- "iframe": false,
- "default": "",
- "paraType": "text",
- "recordASField": 1,
- "beforeJS": "",
- "beforeJSWaitTime": 0,
- "JS": "",
- "JSWaitTime": 0,
- "afterJS": "",
- "afterJSWaitTime": 0,
- "downloadPic": 0
- },
- {
- "nodeType": 0,
- "contentType": 1,
- "relative": true,
- "name": "参数12_文本",
- "desc": "",
- "relativeXPath": "/th[5]",
- "allXPaths": [
- "/th[5]",
- "//th[contains(., '深度(千米)')]",
- "/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr[last()-20]/th[last()-1]"
- ],
- "exampleValues": [
- {
- "num": 1,
- "value": "深度(千米)"
- }
- ],
- "unique_index": "/th[5]",
- "iframe": false,
- "default": "",
- "paraType": "text",
- "recordASField": 1,
- "beforeJS": "",
- "beforeJSWaitTime": 0,
- "JS": "",
- "JSWaitTime": 0,
- "afterJS": "",
- "afterJSWaitTime": 0,
- "downloadPic": 0
- },
- {
- "nodeType": 0,
- "contentType": 1,
- "relative": true,
- "name": "参数13_文本",
- "desc": "",
- "relativeXPath": "/th[6]",
- "allXPaths": [
- "/th[6]",
- "//th[contains(., '参考位置')]",
- "/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr[last()-20]/th"
- ],
- "exampleValues": [
- {
- "num": 1,
- "value": "参考位置"
- }
- ],
- "unique_index": "/th[6]",
- "iframe": false,
- "default": "",
- "paraType": "text",
- "recordASField": 1,
- "beforeJS": "",
- "beforeJSWaitTime": 0,
- "JS": "",
- "JSWaitTime": 0,
- "afterJS": "",
- "afterJSWaitTime": 0,
- "downloadPic": 0
- }
- ],
- "loopType": 1
- }
- }
- ]
-}
\ No newline at end of file
+{"id":212,"name":"中国地震台网——历史查询","url":"https://www.ceic.ac.cn/history","links":"https://www.ceic.ac.cn/history","create_time":"12/4/2023, 2:50:18 AM","update_time":"2023-12-25 20:35:48","version":"0.6.0","saveThreshold":10,"quitWaitTime":60,"environment":0,"maximizeWindow":0,"maxViewLength":15,"recordLog":1,"outputFormat":"xlsx","saveName":"current_time","dataWriteMode":1,"inputExcel":"","startFromExit":0,"pauseKey":"p","containJudge":false,"browser":"chrome","removeDuplicate":0,"desc":"https://www.ceic.ac.cn/history","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://www.ceic.ac.cn/history","desc":"要采集的网址列表,多行以\\n分开","type":"text","exampleValue":"https://www.ceic.ac.cn/history"},{"id":1,"name":"inputText_1","nodeName":"输入文字","nodeId":2,"desc":"要输入的文本,如京东搜索框输入:电脑","type":"text","exampleValue":"15","value":"15"}],"outputParameters":[{"id":0,"name":"参数1_文本","desc":"","type":"text","recordASField":1,"exampleValue":"4.7"},{"id":1,"name":"参数2_文本","desc":"","type":"text","recordASField":1,"exampleValue":"2023-11-1100:54:38"},{"id":2,"name":"参数3_文本","desc":"","type":"text","recordASField":1,"exampleValue":"23.42"},{"id":3,"name":"参数4_文本","desc":"","type":"text","recordASField":1,"exampleValue":"121.70"},{"id":4,"name":"参数5_文本","desc":"","type":"text","recordASField":1,"exampleValue":"30"},{"id":5,"name":"参数6_链接文本","desc":"","type":"text","recordASField":1,"exampleValue":"台湾台东县海域"},{"id":6,"name":"参数7_链接地址","desc":"","type":"text","recordASField":1,"exampleValue":"https://news.ceic.ac.cn/CD20231111005438.html"},{"id":7,"name":"参数8_文本","desc":"","type":"text","recordASField":1,"exampleValue":"震级(M)"},{"id":8,"name":"参数9_文本","desc":"","type":"text","recordASField":1,"exampleValue":"发震时刻(UTC+8)"},{"id":9,"name":"参数10_文本","desc":"","type":"text","recordASField":1,"exampleValue":"纬度(°)"},{"id":10,"name":"参数11_文本","desc":"","type":"text","recordASField":1,"exampleValue":"经度(°)"},{"id":11,"name":"参数12_文本","desc":"","type":"text","recordASField":1,"exampleValue":"深度(千米)"},{"id":12,"name":"参数13_文本","desc":"","type":"text","recordASField":1,"exampleValue":"参考位置"}],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2,3,8],"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0},"isInLoop":false},{"id":1,"index":1,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":0,"parameters":{"useLoop":false,"xpath":"","wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"url":"https://www.ceic.ac.cn/history","links":"https://www.ceic.ac.cn/history","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"cookies":""}},{"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\"]","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"value":"15","index":0,"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']","/html/body/div[last()-3]/div[last()-1]/div/div/div[last()-1]/form/div[last()-3]/input[last()-1]"]}},{"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\"]","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"params":[],"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']","/html/body/div[last()-3]/div[last()-1]/div/div/div[last()-1]/form/div/a"]}},{"id":-1,"index":4,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[5],"isInLoop":false,"position":4,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"pagination\")]/ul[1]/li[last()-1]/a[1]","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":0,"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[2]/div[1]/div[1]/ul[1]/li[10]/a[1]","//a[contains(., '»')]","/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div/div/div/ul/li[last()-1]/a"]}},{"id":-1,"index":5,"parentId":5,"type":0,"option":2,"title":"点击»","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":4,"tabIndex":-1,"useLoop":true,"xpath":"","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"params":[],"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(., '»')]","/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div/div/div/ul/li[last()-1]/a"],"loopType":0}},{"id":5,"index":6,"parentId":4,"type":1,"option":8,"title":"循环","sequence":[7],"isInLoop":true,"position":0,"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","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":["/html/body/div[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']","/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr[last()-20]"]}},{"id":7,"index":7,"parentId":5,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"newLine":1,"params":[{"nodeType":0,"contentType":1,"relative":true,"name":"参数1_文本","desc":"","relativeXPath":"/td[1]","allXPaths":["/td[1]","//td[contains(., '4.7')]","/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr/td[last()-5]"],"exampleValues":[{"num":0,"value":"4.7"}],"unique_index":"/td[1]","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数2_文本","desc":"","relativeXPath":"/td[2]","allXPaths":["/td[2]","//td[contains(., '2023-11-11')]","/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr/td[last()-4]"],"exampleValues":[{"num":0,"value":"2023-11-1100:54:38"}],"unique_index":"/td[2]","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数3_文本","desc":"","relativeXPath":"/td[3]","allXPaths":["/td[3]","//td[contains(., '23.42')]","/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr/td[last()-3]"],"exampleValues":[{"num":0,"value":"23.42"}],"unique_index":"/td[3]","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数4_文本","desc":"","relativeXPath":"/td[4]","allXPaths":["/td[4]","//td[contains(., '121.70')]","/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr/td[last()-2]"],"exampleValues":[{"num":0,"value":"121.70"}],"unique_index":"/td[4]","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数5_文本","desc":"","relativeXPath":"/td[5]","allXPaths":["/td[5]","//td[contains(., '30')]","/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr/td[last()-1]"],"exampleValues":[{"num":0,"value":"30"}],"unique_index":"/td[5]","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":1,"contentType":0,"relative":true,"name":"参数6_链接文本","desc":"","relativeXPath":"/td[6]/a[1]","allXPaths":["/td[6]/a[1]","//a[contains(., '台湾台东县海域')]","id(\"cid\")","/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr/td/a"],"exampleValues":[{"num":0,"value":"台湾台东县海域"}],"unique_index":"/td[6]/a[1]","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":2,"contentType":0,"relative":true,"name":"参数7_链接地址","desc":"","relativeXPath":"/td[6]/a[1]","allXPaths":["/td[6]/a[1]","//a[contains(., '台湾台东县海域')]","id(\"cid\")","/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr/td/a"],"exampleValues":[{"num":0,"value":"https://news.ceic.ac.cn/CD20231111005438.html"}],"unique_index":"/td[6]/a[1]","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数8_文本","desc":"","relativeXPath":"/th[1]","allXPaths":["/th[1]","//th[contains(., '震级(M)')]","/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr[last()-20]/th[last()-5]"],"exampleValues":[{"num":1,"value":"震级(M)"}],"unique_index":"/th[1]","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数9_文本","desc":"","relativeXPath":"/th[2]","allXPaths":["/th[2]","//th[contains(., '发震时刻(UTC+8')]","/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr[last()-20]/th[last()-4]"],"exampleValues":[{"num":1,"value":"发震时刻(UTC+8)"}],"unique_index":"/th[2]","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数10_文本","desc":"","relativeXPath":"/th[3]","allXPaths":["/th[3]","//th[contains(., '纬度(°)')]","/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr[last()-20]/th[last()-3]"],"exampleValues":[{"num":1,"value":"纬度(°)"}],"unique_index":"/th[3]","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数11_文本","desc":"","relativeXPath":"/th[4]","allXPaths":["/th[4]","//th[contains(., '经度(°)')]","/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr[last()-20]/th[last()-2]"],"exampleValues":[{"num":1,"value":"经度(°)"}],"unique_index":"/th[4]","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数12_文本","desc":"","relativeXPath":"/th[5]","allXPaths":["/th[5]","//th[contains(., '深度(千米)')]","/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr[last()-20]/th[last()-1]"],"exampleValues":[{"num":1,"value":"深度(千米)"}],"unique_index":"/th[5]","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数13_文本","desc":"","relativeXPath":"/th[6]","allXPaths":["/th[6]","//th[contains(., '参考位置')]","/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr[last()-20]/th"],"exampleValues":[{"num":1,"value":"参考位置"}],"unique_index":"/th[6]","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0}],"loopType":1}},{"id":4,"index":8,"parentId":0,"type":1,"option":8,"title":"循环点击每个元素","sequence":[6,9],"isInLoop":false,"position":3,"parameters":{"history":3,"tabIndex":-1,"useLoop":false,"xpath":"/html/body/div[1]/div[3]/div[1]/div[1]/div[2]/div[1]/div[2]/div[1]/div[1]/ul[1]/li/a[1]","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":1,"pathList":"","code":"","waitTime":0,"exitCount":0,"exitElement":"//body","historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"skipCount":0,"allXPaths":""}},{"id":6,"index":9,"parentId":4,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":true,"position":1,"parameters":{"history":3,"tabIndex":-1,"useLoop":true,"xpath":"","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"newTab":1,"maxWaitTime":10,"params":[],"alertHandleType":0,"allXPaths":""}}]}
\ No newline at end of file
diff --git a/.temp_to_pub/EasySpider_windows_x64/软件使用说明.txt b/.temp_to_pub/EasySpider_windows_x64/软件使用说明.txt
index 0bcc3cd..6467765 100644
--- a/.temp_to_pub/EasySpider_windows_x64/软件使用说明.txt
+++ b/.temp_to_pub/EasySpider_windows_x64/软件使用说明.txt
@@ -2,9 +2,9 @@
官方网址: https://www.easyspider.cn
-支持Windows 10 x64及以上版本。
+支持Windows 10/Windows Server 2016 x64及以上版本。
-Windows 7任意版本,包括x64和x32版本,以及Windows 10 x32版本请下载Windows的32位版本使用。
+Windows 7任意版本,包括x64和x32版本,以及Windows 10 x32版本请下载Windows的32位版本使用。无任何版本支持Windows Server 2012及以下版本系统,这些系统下需要自行编译运行。
视频教程:https://www.bilibili.com/video/BV1th411A7ey/
diff --git a/ElectronJS/src/taskGrid/FlowChart.html b/ElectronJS/src/taskGrid/FlowChart.html
index f2d6648..47ba500 100644
--- a/ElectronJS/src/taskGrid/FlowChart.html
+++ b/ElectronJS/src/taskGrid/FlowChart.html
@@ -145,8 +145,28 @@
-
+
+
+
+
+
+
+ Click here to expand/collapse advanced operations
+
+
+
@@ -177,24 +197,6 @@
-
-
- Click here to expand/collapse advanced operations
-
-
-
@@ -237,6 +239,8 @@
XPATH (Field["FieldName"] and eval("your code") can be used in any XPATHS): ☺
+
+
Click here to expand/collapse advanced operations
@@ -256,21 +260,6 @@
-
-
-
-
-
-
- 点此展开/折叠自定义操作
-
-
-
@@ -237,6 +239,8 @@
XPath(所有XPath内均可用Field["字段名"]表示参数值,用eval("你的代码")来替换成自定义的变量): ☺
+
+
点此展开/折叠自定义操作
@@ -256,21 +260,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -320,6 +309,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -517,8 +521,10 @@ print(emotlib.emoji()) # 使用其中的函数。
-
+
+
+
diff --git a/ElectronJS/src/taskGrid/logic.js b/ElectronJS/src/taskGrid/logic.js
index 7063120..ec606cf 100644
--- a/ElectronJS/src/taskGrid/logic.js
+++ b/ElectronJS/src/taskGrid/logic.js
@@ -188,20 +188,34 @@ function notifyParameterNum(num) {
ws.send(JSON.stringify(message));
}
-function trailElement(node, type = 1) {
- // type=0代表标记节点,type=1代表试运行
- let parentNode = nodeList[actionSequence[node["parentId"]]];
- if (node.option == 10) { //条件分支的话,传父元素的父元素
+function updateParentNode() {
+ // console.log("updateParentNode")
+ let parentNode = nodeList[actionSequence[app._data.nowNode["parentId"]]];
+ if (app._data.nowNode.option == 10) { //条件分支的话,传父元素的父元素
parentNode = nodeList[actionSequence[parentNode["parentId"]]];
}
if (parentNode.option == 10) { //如果父元素是条件分支,传父元素的爷爷元素
parentNode = nodeList[actionSequence[parentNode["parentId"]]];
parentNode = nodeList[actionSequence[parentNode["parentId"]]];
}
+ app._data.parentNode = parentNode;
+}
+
+function trailElement(node, type = 1) {
+ // type=0代表标记节点,type=1代表试运行
+ // let parentNode = nodeList[actionSequence[node["parentId"]]];
+ // if (node.option == 10) { //条件分支的话,传父元素的父元素
+ // parentNode = nodeList[actionSequence[parentNode["parentId"]]];
+ // }
+ // if (parentNode.option == 10) { //如果父元素是条件分支,传父元素的爷爷元素
+ // parentNode = nodeList[actionSequence[parentNode["parentId"]]];
+ // parentNode = nodeList[actionSequence[parentNode["parentId"]]];
+ // }
+ updateParentNode();
let message = {
type: 4, //消息类型,4代表试运行事件
from: 1, //0代表从浏览器到流程图,1代表从流程图到浏览器
- message: {"type": type, "node": JSON.stringify(node), "parentNode": JSON.stringify(parentNode)}
+ message: {"type": type, "node": JSON.stringify(node), "parentNode": JSON.stringify(app._data.parentNode)}
};
ws.send(JSON.stringify(message));
console.log(node);
@@ -214,6 +228,7 @@ function handleElement() {
app._data["nowNode"] = nodeList[vueData.nowNodeIndex];
app._data["nodeType"] = app._data["nowNode"]["option"];
app._data.useLoop = app._data["nowNode"]["parameters"]["useLoop"];
+ app._data.xpath = app._data["nowNode"]["parameters"]["xpath"];
app._data["codeMode"] = -1; //自定义初始化
if (app._data["nodeType"] == 8) {
app._data.loopType = app._data["nowNode"]["parameters"]["loopType"];
diff --git a/ElectronJS/tasks/308.json b/ElectronJS/tasks/308.json
index 3be166c..8d5dcdc 100644
--- a/ElectronJS/tasks/308.json
+++ b/ElectronJS/tasks/308.json
@@ -1 +1 @@
-{"id":308,"name":"京东全球版-专业的综合网上购物商城","url":"https://www.jd.com","links":"https://www.jd.com","create_time":"2023-12-23 14:21:24","update_time":"2023-12-25 12:20:40","version":"0.6.0","saveThreshold":10,"quitWaitTime":60,"environment":0,"maximizeWindow":0,"maxViewLength":15,"recordLog":1,"outputFormat":"xlsx","saveName":"current_time","dataWriteMode":1,"inputExcel":"","startFromExit":0,"pauseKey":"p","containJudge":true,"browser":"chrome","removeDuplicate":1,"desc":"https://www.jd.com","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://www.jd.com","desc":"要采集的网址列表,多行以\\n分开","type":"text","exampleValue":"https://www.jd.com"}],"outputParameters":[{"id":0,"name":"参数1_链接文本","desc":"","type":"text","recordASField":1,"exampleValue":"手机"},{"id":1,"name":"参数2_链接地址","desc":"","type":"text","recordASField":1,"exampleValue":"https://shouji.jd.com/"}],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2],"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0},"isInLoop":false},{"id":1,"index":1,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":0,"parameters":{"useLoop":false,"xpath":"","wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"url":"https://www.jd.com","links":"https://www.jd.com","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"cookies":""}},{"id":2,"index":2,"parentId":0,"type":1,"option":8,"title":"循环采集数据","sequence":[3,4],"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/a","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":1,"pathList":"","code":"","waitTime":0,"exitCount":0,"exitElement":"//body","historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"skipCount":0,"allXPaths":["/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/a[1]","//a[contains(., '手机')]","/html/body/div[last()-6]/div/div[last()-4]/div/div[last()-2]/div/div/div/div[last()-1]/div[last()-12]/a[last()-1]"]}},{"id":3,"index":3,"parentId":2,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"newLine":1,"params":[{"nodeType":1,"contentType":8,"relative":true,"name":"参数1_链接文本","desc":"","extractType":0,"relativeXPath":"","allXPaths":"","exampleValues":[{"num":0,"value":"手机"}],"unique_index":"m5moh4pro4rlqhoa60d","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0,"splitLine":0},{"nodeType":2,"contentType":0,"relative":true,"name":"参数2_链接地址","desc":"","relativeXPath":"","allXPaths":"","exampleValues":[{"num":0,"value":"https://shouji.jd.com/"}],"unique_index":"m5moh4pro4rlqhoa60d","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0,"splitLine":0}]}},{"id":4,"index":4,"parentId":2,"type":2,"option":9,"title":"判断条件 - 从左往右依次判断","sequence":[5,6],"isInLoop":true,"position":1,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0}},{"id":5,"parentId":4,"index":5,"type":3,"option":10,"title":"无条件","sequence":[],"isInLoop":true,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"class":0,"value":"","code":"","waitTime":0},"position":0},{"id":6,"parentId":4,"index":6,"type":3,"option":10,"title":"无条件","sequence":[],"isInLoop":true,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"class":0,"value":"","code":"","waitTime":0},"position":1}]}
\ No newline at end of file
+{"id":308,"name":"京东全球版-专业的综合网上购物商城","url":"https://www.jd.com","links":"https://www.jd.com","create_time":"2023-12-23 14:21:24","update_time":"2023-12-26 20:44:32","version":"0.6.0","saveThreshold":10,"quitWaitTime":60,"environment":0,"maximizeWindow":0,"maxViewLength":15,"recordLog":1,"outputFormat":"xlsx","saveName":"current_time","dataWriteMode":1,"inputExcel":"","startFromExit":0,"pauseKey":"p","containJudge":false,"browser":"chrome","removeDuplicate":1,"desc":"https://www.jd.com","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://www.jd.com","desc":"要采集的网址列表,多行以\\n分开","type":"text","exampleValue":"https://www.jd.com"}],"outputParameters":[{"id":0,"name":"参数1_链接文本","desc":"","type":"text","recordASField":1,"exampleValue":"手机"},{"id":1,"name":"参数2_链接地址","desc":"","type":"text","recordASField":1,"exampleValue":"https://shouji.jd.com/"},{"id":2,"name":"执行Python代码","desc":"自定义操作返回的数据","type":"text","recordASField":0,"exampleValue":""},{"id":3,"name":"执行Python代码","desc":"自定义操作返回的数据","type":"text","recordASField":0,"exampleValue":""}],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,8,9,2],"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0},"isInLoop":false},{"id":1,"index":1,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":0,"parameters":{"useLoop":false,"xpath":"","wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"url":"https://www.jd.com","links":"https://www.jd.com","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"cookies":""}},{"id":4,"index":2,"parentId":0,"type":1,"option":8,"title":"循环 - 固定元素列表","sequence":[3],"isInLoop":false,"position":3,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1123]/div[1]/div[1]/div[1]/div/a","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":2,"pathList":"1\n2\n3\n4","code":"","waitTime":0,"exitCount":0,"exitElement":"//body","historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"skipCount":0,"allXPaths":["/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/a[1]","//a[contains(., '手机')]","/html/body/div[last()-6]/div/div[last()-4]/div/div[last()-2]/div/div/div/div[last()-1]/div[last()-12]/a[last()-1]"]}},{"id":5,"index":3,"parentId":4,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"newLine":1,"params":[{"nodeType":1,"contentType":8,"relative":true,"name":"参数1_链接文本","desc":"","extractType":0,"relativeXPath":"/123/123","allXPaths":"","exampleValues":[{"num":0,"value":"手机"}],"unique_index":"m5moh4pro4rlqhoa60d","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0,"splitLine":0},{"nodeType":2,"contentType":0,"relative":true,"name":"参数2_链接地址","desc":"","relativeXPath":"","allXPaths":"","exampleValues":[{"num":0,"value":"https://shouji.jd.com/"}],"unique_index":"m5moh4pro4rlqhoa60d","iframe":false,"default":"","paraType":"text","recordASField":1,"beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0,"splitLine":0}]}},{"id":-1,"index":4,"parentId":3,"type":2,"option":9,"title":"判断条件 - 从左往右依次判断","sequence":[5,6],"isInLoop":true,"position":1,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0}},{"id":-1,"parentId":5,"index":5,"type":3,"option":10,"title":"无条件","sequence":[],"isInLoop":true,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"class":0,"value":"","code":"","waitTime":0},"position":0},{"id":-1,"parentId":5,"index":6,"type":3,"option":10,"title":"无条件","sequence":[],"isInLoop":true,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"class":0,"value":"","code":"","waitTime":0},"position":1},{"id":-1,"index":7,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"newTab":0,"maxWaitTime":10,"params":[],"alertHandleType":0}},{"id":2,"index":8,"parentId":0,"type":0,"option":5,"title":"执行Python代码","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"newLine":1,"codeMode":5,"code":"outside:myCode.py","waitTime":0,"recordASField":0,"paraType":"text","emailConfig":{"host":"","port":465,"username":"","password":"","from":"","to":"","subject":"","content":""}}},{"id":3,"index":9,"parentId":0,"type":0,"option":5,"title":"执行Python代码","sequence":[],"isInLoop":false,"position":2,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"clear":0,"newLine":1,"codeMode":5,"code":"test(10)","waitTime":0,"recordASField":0,"paraType":"text","emailConfig":{"host":"","port":465,"username":"","password":"","from":"","to":"","subject":"","content":""}}}]}
\ No newline at end of file
diff --git a/ElectronJS/tasks/310.json b/ElectronJS/tasks/310.json
new file mode 100644
index 0000000..addc261
--- /dev/null
+++ b/ElectronJS/tasks/310.json
@@ -0,0 +1 @@
+{"id":310,"name":"京东全球版-专业的综合网上购物商城","url":"https://www.jd.com","links":"https://www.jd.com","create_time":"2023-12-26 15:32:29","update_time":"2023-12-26 19:57:41","version":"0.6.0","saveThreshold":10,"quitWaitTime":60,"environment":0,"maximizeWindow":0,"maxViewLength":15,"recordLog":1,"outputFormat":"xlsx","saveName":"current_time","dataWriteMode":1,"inputExcel":"","startFromExit":0,"pauseKey":"p","containJudge":false,"browser":"chrome","removeDuplicate":0,"desc":"https://www.jd.com","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://www.jd.com","desc":"要采集的网址列表,多行以\\n分开","type":"text","exampleValue":"https://www.jd.com"},{"id":1,"name":"loopTimes_1","nodeId":3,"nodeName":"循环点击:手机/数码","desc":"循环循环点击:手机/数码执行的次数(0代表无限循环)","type":"int","exampleValue":0,"value":0}],"outputParameters":[],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,5,2,3],"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0},"isInLoop":false},{"id":1,"index":1,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":0,"parameters":{"useLoop":false,"xpath":"","wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"url":"https://www.jd.com","links":"https://www.jd.com","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"cookies":""}},{"id":3,"index":2,"parentId":0,"type":0,"option":2,"title":"点击手机/数码","sequence":[],"isInLoop":false,"position":2,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[1]12321332121321321321321233123123","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"newTab":0,"maxWaitTime":10,"params":[],"alertHandleType":0,"allXPaths":["/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]","//div[contains(., '/手机/数码')]","//DIV[@class='LeftSide_menu_item__SBMWC LeftSide_text_space__2UhbG ']","/html/body/div[last()-5]/div/div[last()-4]/div/div[last()-2]/div/div/div/div[last()-1]/div[last()-12]"]}},{"id":4,"index":3,"parentId":0,"type":1,"option":8,"title":"循环点击:手机/数码","sequence":[6,7,4],"isInLoop":false,"position":3,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[1]","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":0,"pathList":"","code":"","waitTime":0,"exitCount":0,"exitElement":"//body","historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"skipCount":0,"allXPaths":["/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]","//div[contains(., '/手机/数码')]","//DIV[@class='LeftSide_menu_item__SBMWC LeftSide_text_space__2UhbG ']","/html/body/div[last()-5]/div/div[last()-4]/div/div[last()-2]/div/div/div/div[last()-1]/div[last()-12]"]}},{"id":7,"index":4,"parentId":4,"type":0,"option":2,"title":"点击手机/数码","sequence":[],"isInLoop":true,"position":2,"parameters":{"history":4,"tabIndex":-1,"useLoop":true,"xpath":"123213213212321313111311233333123","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"newTab":0,"maxWaitTime":10,"params":[],"alertHandleType":0,"allXPaths":["/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]","//div[contains(., '/手机/数码')]","//DIV[@class='LeftSide_menu_item__SBMWC LeftSide_text_space__2UhbG ']","/html/body/div[last()-5]/div/div[last()-4]/div/div[last()-2]/div/div/div/div[last()-1]/div[last()-12]"]}},{"id":2,"index":5,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"123111","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"newTab":0,"maxWaitTime":10,"params":[],"alertHandleType":0}},{"id":5,"index":6,"parentId":4,"type":0,"option":7,"title":"移动到元素","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"123111","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0}},{"id":6,"index":7,"parentId":4,"type":0,"option":2,"title":"点击手机123/...","sequence":[],"isInLoop":true,"position":1,"parameters":{"history":3,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[1]1123","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"waitElement":"","waitElementTime":10,"waitElementIframeIndex":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"newTab":0,"maxWaitTime":10,"params":[],"alertHandleType":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(., '/手机123/数码')]","//DIV[@class='LeftSide_menu_item__SBMWC LeftSide_text_space__2UhbG ']","/html/body/div[last()-6]/div/div[last()-4]/div/div[last()-2]/div/div/div/div[last()-1]/div[last()-12]"]}}]}
\ No newline at end of file
diff --git a/ExecuteStage/.vscode/launch.json b/ExecuteStage/.vscode/launch.json
index 56e3861..fcc7429 100644
--- a/ExecuteStage/.vscode/launch.json
+++ b/ExecuteStage/.vscode/launch.json
@@ -12,7 +12,7 @@
"justMyCode": false,
// "args": ["--ids", "[7]", "--read_type", "remote", "--headless", "0"]
// "args": ["--ids", "[9]", "--read_type", "remote", "--headless", "0", "--saved_file_name", "YOUTUBE"]
- "args": ["--ids", "[10]", "--headless", "0", "--user_data", "0", "--keyboard", "0",
+ "args": ["--ids", "[63]", "--headless", "0", "--user_data", "0", "--keyboard", "0",
"--read_type", "remote"]
// "args": "--ids '[97]' --user_data 1 --server_address http://localhost:8074 --config_folder '/Users/naibo/Documents/EasySpider/ElectronJS/' --headless 0 --read_type remote --config_file_name config.json --saved_file_name"
}
diff --git a/ExecuteStage/easyspider_executestage.py b/ExecuteStage/easyspider_executestage.py
index 4ce4a48..0172c34 100644
--- a/ExecuteStage/easyspider_executestage.py
+++ b/ExecuteStage/easyspider_executestage.py
@@ -768,6 +768,8 @@ class BrowserThread(Thread):
elif int(codeMode) == 5:
try:
code = readCode(code)
+ # global_namespace = globals().copy()
+ # global_namespace["self"] = self
output = exec(code)
self.recordLog("执行下面的代码:" + code)
self.recordLog("Execute the following code:" + code)
diff --git a/ExecuteStage/myCode.py b/ExecuteStage/myCode.py
index 36245ed..36e385f 100644
--- a/ExecuteStage/myCode.py
+++ b/ExecuteStage/myCode.py
@@ -23,7 +23,7 @@ For more complex operations, please download the source code and compile it for
"""
# 请在下面编写你的代码,不要有代码缩进!!! | Please write your code below, do not indent the code!!!
-
+print(globals())
# 导包 | Import packages
from selenium.common.exceptions import ElementClickInterceptedException
@@ -56,3 +56,20 @@ finally:
print("All parameters:", self.outputParameters)
print(test(3))
print("执行完毕|Execution completed")
+
+import time
+time.sleep(3)
+
+def new_line(outputParameters, maxViewLength, record):
+ line = []
+ print("Use this function to print a new line in the console")
+ i = 0
+ for value in outputParameters.values():
+ line.append(value)
+ if record[i]:
+ print(value[:maxViewLength], " ", end="")
+ i += 1
+ print("")
+ return line
+
+new_line(self.outputParameters, 10, [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True])
\ No newline at end of file