diff --git a/ElectronJS/main.js b/ElectronJS/main.js index f089802..e1b64a5 100644 --- a/ElectronJS/main.js +++ b/ElectronJS/main.js @@ -432,7 +432,7 @@ function handleOpenBrowser(event, lang = "en", user_data_folder = "", mobile = f runBrowser(lang, user_data_folder, mobile); let size = screen.getPrimaryDisplay().workAreaSize; let width = parseInt(size.width); - let height = parseInt(size.height * 0.7); + let height = parseInt(size.height * 0.65); flowchart_window = new BrowserWindow({ x: 0, y: 0, diff --git a/ElectronJS/package-lock.json b/ElectronJS/package-lock.json index 1b113ad..754d445 100644 --- a/ElectronJS/package-lock.json +++ b/ElectronJS/package-lock.json @@ -23,7 +23,7 @@ "@electron-forge/maker-rpm": "^6.0.5", "@electron-forge/maker-squirrel": "^6.0.5", "@electron-forge/maker-zip": "^6.0.5", - "electron": "^20.0.1" + "electron": "^25.0.1" } }, "node_modules/@electron-forge/cli": { @@ -980,9 +980,10 @@ "optional": true }, "node_modules/@types/node": { - "version": "16.18.38", - "dev": true, - "license": "MIT" + "version": "18.16.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.19.tgz", + "integrity": "sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA==", + "dev": true }, "node_modules/@types/responselike": { "version": "1.0.0", @@ -1579,16 +1580,6 @@ "typedarray": "^0.0.6" } }, - "node_modules/config-chain": { - "version": "1.1.13", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, "node_modules/console-control-strings": { "version": "1.1.0", "dev": true, @@ -1799,31 +1790,27 @@ "minimatch": "^3.0.4" } }, - "node_modules/duplexer3": { - "version": "0.1.5", - "dev": true, - "license": "BSD-3-Clause" - }, "node_modules/eastasianwidth": { "version": "0.2.0", "dev": true, "license": "MIT" }, "node_modules/electron": { - "version": "20.3.12", + "version": "25.2.0", + "resolved": "https://registry.npmjs.org/electron/-/electron-25.2.0.tgz", + "integrity": "sha512-I/rhcW2sV2fyiveVSBr2N7v5ZiCtdGY0UiNCDZgk2fpSC+irQjbeh7JT2b4vWmJ2ogOXBjqesrN9XszTIG6DHg==", "dev": true, "hasInstallScript": true, - "license": "MIT", "dependencies": { - "@electron/get": "^1.14.1", - "@types/node": "^16.11.26", + "@electron/get": "^2.0.0", + "@types/node": "^18.11.18", "extract-zip": "^2.0.1" }, "bin": { "electron": "cli.js" }, "engines": { - "node": ">= 10.17.0" + "node": ">= 12.20.55" } }, "node_modules/electron-installer-common": { @@ -1991,215 +1978,11 @@ "node": ">= 4.0.0" } }, - "node_modules/electron/node_modules/@electron/get": { - "version": "1.14.1", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.1.1", - "env-paths": "^2.2.0", - "fs-extra": "^8.1.0", - "got": "^9.6.0", - "progress": "^2.0.3", - "semver": "^6.2.0", - "sumchecker": "^3.0.1" - }, - "engines": { - "node": ">=8.6" - }, - "optionalDependencies": { - "global-agent": "^3.0.0", - "global-tunnel-ng": "^2.7.1" - } - }, - "node_modules/electron/node_modules/@sindresorhus/is": { - "version": "0.14.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/electron/node_modules/@szmarczak/http-timer": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "defer-to-connect": "^1.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/electron/node_modules/cacheable-request": { - "version": "6.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/electron/node_modules/decompress-response": { - "version": "3.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-response": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/electron/node_modules/defer-to-connect": { - "version": "1.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/electron/node_modules/fs-extra": { - "version": "8.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/electron/node_modules/got": { - "version": "9.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/electron/node_modules/got/node_modules/get-stream": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/electron/node_modules/got/node_modules/lowercase-keys": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/electron/node_modules/json-buffer": { - "version": "3.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/electron/node_modules/jsonfile": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/electron/node_modules/keyv": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.0" - } - }, - "node_modules/electron/node_modules/normalize-url": { - "version": "4.5.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/electron/node_modules/p-cancelable": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/electron/node_modules/responselike": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "lowercase-keys": "^1.0.0" - } - }, - "node_modules/electron/node_modules/responselike/node_modules/lowercase-keys": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/electron/node_modules/semver": { - "version": "6.3.0", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/electron/node_modules/universalify": { - "version": "0.1.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/emoji-regex": { "version": "8.0.0", "dev": true, "license": "MIT" }, - "node_modules/encodeurl": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/encoding": { "version": "0.1.13", "dev": true, @@ -2803,21 +2586,6 @@ "which": "bin/which" } }, - "node_modules/global-tunnel-ng": { - "version": "2.7.1", - "dev": true, - "license": "BSD-3-Clause", - "optional": true, - "dependencies": { - "encodeurl": "^1.0.2", - "lodash": "^4.17.10", - "npm-conf": "^1.1.3", - "tunnel": "^0.0.6" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/globalthis": { "version": "1.0.3", "dev": true, @@ -3891,28 +3659,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm-conf": { - "version": "1.1.3", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "config-chain": "^1.1.11", - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-conf/node_modules/pify": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" - } - }, "node_modules/npm-run-path": { "version": "2.0.2", "dev": true, @@ -4288,14 +4034,6 @@ "node": ">=6" } }, - "node_modules/prepend-http": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/process-nextick-args": { "version": "2.0.1", "license": "MIT" @@ -4320,12 +4058,6 @@ "node": ">=10" } }, - "node_modules/proto-list": { - "version": "1.2.4", - "dev": true, - "license": "ISC", - "optional": true - }, "node_modules/pump": { "version": "3.0.0", "dev": true, @@ -5050,14 +4782,6 @@ "tmp": "^0.2.0" } }, - "node_modules/to-readable-stream": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "dev": true, @@ -5098,15 +4822,6 @@ "dev": true, "license": "0BSD" }, - "node_modules/tunnel": { - "version": "0.0.6", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.6.11 <=0.7.0 || >=0.7.3" - } - }, "node_modules/type-fest": { "version": "0.21.3", "dev": true, @@ -5163,17 +4878,6 @@ "node": ">= 10.0.0" } }, - "node_modules/url-parse-lax": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "prepend-http": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/username": { "version": "5.1.0", "dev": true, diff --git a/ElectronJS/package.json b/ElectronJS/package.json index ae15742..3ada183 100644 --- a/ElectronJS/package.json +++ b/ElectronJS/package.json @@ -27,7 +27,7 @@ "@electron-forge/maker-rpm": "^6.0.5", "@electron-forge/maker-squirrel": "^6.0.5", "@electron-forge/maker-zip": "^6.0.5", - "electron": "^20.0.1" + "electron": "^25.0.1" }, "repository": "https://github.com/NaiboWang/EasySpider", "dependencies": { @@ -76,4 +76,4 @@ "publishers": [] } } -} \ No newline at end of file +} diff --git a/ElectronJS/src/taskGrid/FlowChart.html b/ElectronJS/src/taskGrid/FlowChart.html index ffbef61..a63300f 100644 --- a/ElectronJS/src/taskGrid/FlowChart.html +++ b/ElectronJS/src/taskGrid/FlowChart.html @@ -502,7 +502,7 @@ - + - + + + + + + + + + + \ No newline at end of file diff --git a/ElectronJS/tasks/127.json b/ElectronJS/tasks/127.json new file mode 100644 index 0000000..68dfa66 --- /dev/null +++ b/ElectronJS/tasks/127.json @@ -0,0 +1 @@ +{"id":127,"name":"Dynamic Iframe","url":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://www.ceic.ac.cn/history","links":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://www.ceic.ac.cn/history","create_time":"7/5/2023, 4:45:57 AM","version":"0.3.5","saveThreshold":10,"cloudflare":0,"environment":0,"containJudge":false,"desc":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://www.ceic.ac.cn/history","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://www.ceic.ac.cn/history","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://www.ceic.ac.cn/history"},{"id":1,"name":"loopText_1","nodeId":2,"nodeName":"循环","desc":"要输入的文本/网址,多行以\\n分开","type":"string","exampleValue":"1\n2\n","value":"1\n2\n"}],"outputParameters":[],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2],"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0},"isInLoop":false},{"id":1,"index":1,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":0,"parameters":{"useLoop":false,"xpath":"","wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://www.ceic.ac.cn/history","links":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://www.ceic.ac.cn/history","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1}},{"id":2,"index":2,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[3,4],"isInLoop":false,"position":1,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":"3","pathList":"","textList":"1\n2\n","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0}},{"id":3,"index":3,"parentId":2,"type":0,"option":4,"title":"输入文字","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":5,"tabIndex":-1,"useLoop":true,"xpath":"//*[@id=\"weidu1\"]","iframe":true,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"value":"123","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":4,"index":4,"parentId":2,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":true,"position":1,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"search\"]","iframe":true,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":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']","/html/body/div[last()-3]/div[last()-1]/div/div/div[last()-1]/form/div/a"]}}]} \ No newline at end of file diff --git a/ElectronJS/tasks/128.json b/ElectronJS/tasks/128.json new file mode 100644 index 0000000..304b8fb --- /dev/null +++ b/ElectronJS/tasks/128.json @@ -0,0 +1 @@ +{"id":128,"name":"Dynamic Iframe - jd","url":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com","links":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com","create_time":"7/5/2023, 5:11:04 AM","version":"0.3.5","saveThreshold":10,"cloudflare":0,"environment":0,"containJudge":false,"desc":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com"}],"outputParameters":[],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,18],"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":3,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com","links":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1}},{"id":-1,"index":2,"parentId":0,"type":0,"option":7,"title":"移动到元素","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[10]/a[2]","iframe":true,"wait":0.4,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"allXPaths":["/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[10]/a[2]","//a[contains(., '洗护喂养')]","/html/body/div[last()-5]/div/div[last()-4]/div/div[last()-2]/div/div/div/div[last()-1]/div[last()-3]/a"]}},{"id":-1,"index":3,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[4],"isInLoop":false,"position":2,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":""}},{"id":-1,"index":4,"parentId":3,"type":0,"option":7,"title":"移动到元素","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":5,"tabIndex":-1,"useLoop":true,"xpath":"/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div","iframe":true,"wait":0.1,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"allXPaths":"","loopType":1}},{"id":-1,"index":5,"parentId":0,"type":0,"option":4,"title":"输入文字","sequence":[],"isInLoop":false,"position":3,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"key\"]","iframe":true,"wait":1,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"value":"iPhone","allXPaths":["/html/body/div[4]/div[1]/div[2]/div[1]/input[1]","//input[contains(., '')]","id(\"key\")","//INPUT[@class='text defcolor']","/html/body/div[last()-6]/div/div[last()-2]/div/input"]}},{"id":-1,"index":6,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":3,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"search-btn\"]/i[1]","iframe":true,"wait":10,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[4]/div[1]/div[2]/div[1]/button[1]/i[1]","//i[contains(., '')]","/html/body/div[last()-6]/div/div[last()-2]/div/button/i"]}},{"id":-1,"index":7,"parentId":0,"type":0,"option":4,"title":"输入文字","sequence":[],"isInLoop":false,"position":5,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"key\"]","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"value":"iPhone","allXPaths":["/html/body/div[4]/div[1]/div[2]/div[1]/input[1]","//input[contains(., '')]","id(\"key\")","//INPUT[@class='text defcolor']","/html/body/div[last()-6]/div/div[last()-2]/div/input"]}},{"id":-1,"index":8,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":5,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"search-btn\"]/i[1]","iframe":true,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[4]/div[1]/div[2]/div[1]/button[1]/i[1]","//i[contains(., '')]","/html/body/div[last()-6]/div/div[last()-2]/div/button/i"]}},{"id":-1,"index":9,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"search-link\"]/i[1]","iframe":true,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[4]/div[1]/div[2]/div[1]/a[1]/i[1]","//i[contains(., '')]","/html/body/div[last()-6]/div/div[last()-2]/div/a/i"]}},{"id":-1,"index":10,"parentId":0,"type":0,"option":4,"title":"输入文字","sequence":[],"isInLoop":false,"position":3,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"key\"]","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"value":"i","allXPaths":["/html/body/div[4]/div[1]/div[2]/div[1]/input[1]","//input[contains(., '')]","id(\"key\")","//INPUT[@class='text defcolor']","/html/body/div[last()-6]/div/div[last()-2]/div/input"]}},{"id":-1,"index":11,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":3,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"search-btn\"]/i[1]","iframe":true,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[4]/div[1]/div[2]/div[1]/button[1]/i[1]","//i[contains(., '')]","/html/body/div[last()-6]/div/div[last()-2]/div/button/i"]}},{"id":-1,"index":12,"parentId":0,"type":0,"option":4,"title":"输入文字","sequence":[],"isInLoop":false,"position":3,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"key\"]","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"value":"1","allXPaths":["/html/body/div[4]/div[1]/div[2]/div[1]/input[1]","//input[contains(., '')]","id(\"key\")","//INPUT[@class='text defcolor']","/html/body/div[last()-7]/div/div[last()-2]/div/input"]}},{"id":-1,"index":13,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":3,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"search-btn\"]/i[1]","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[4]/div[1]/div[2]/div[1]/button[1]/i[1]","//i[contains(., '')]","/html/body/div[last()-7]/div/div[last()-2]/div/button/i"]}},{"id":-1,"index":14,"parentId":0,"type":0,"option":4,"title":"输入文字","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"key\"]","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"value":"1","allXPaths":["/html/body/div[4]/div[1]/div[2]/div[1]/input[1]","//input[contains(., '')]","id(\"key\")","//INPUT[@class='text defcolor']","/html/body/div[last()-6]/div/div[last()-2]/div/input"]}},{"id":-1,"index":15,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"search-btn\"]/i[1]","iframe":true,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":"2","scrollCount":2,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[4]/div[1]/div[2]/div[1]/button[1]/i[1]","//i[contains(., '')]","/html/body/div[last()-6]/div/div[last()-2]/div/button/i"]}},{"id":-1,"index":16,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[17],"isInLoop":false,"position":1,"parameters":{"history":6,"tabIndex":-1,"useLoop":false,"xpath":"/html/body/div[5]/div[2]/div[2]/div[1]/div[1]/div[2]/ul[1]/li/div[1]","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":["/html/body/div[5]/div[2]/div[2]/div[1]/div[1]/div[2]/ul[1]/li[1]/div[1]","//div[contains(., '')]","//DIV[@class='gl-i-wrap']","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-29]/div"]}},{"id":-1,"index":17,"parentId":2,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":6,"tabIndex":-1,"useLoop":false,"xpath":"","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"paras":[{"nodeType":1,"contentType":0,"relative":true,"name":"参数1_链接文本","desc":"","relativeXPath":"/div[1]/a[1]","allXPaths":["/div[1]/a[1]","//a[contains(., '')]","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-29]/div/div[last()-7]/a"],"exampleValues":[{"num":0,"value":"\n\t\t\t\t\t\t\t\t\n\t\t\t\t \t"}],"unique_index":"/div[1]/a[1]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":2,"contentType":0,"relative":true,"name":"参数2_链接地址","desc":"","relativeXPath":"/div[1]/a[1]","allXPaths":["/div[1]/a[1]","//a[contains(., '')]","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-29]/div/div[last()-7]/a"],"exampleValues":[{"num":0,"value":"//item.jd.com/10067439099522.html"}],"unique_index":"/div[1]/a[1]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":4,"contentType":1,"relative":true,"name":"参数3_图片地址","desc":"","relativeXPath":"/div[1]/a[1]/img[1]","allXPaths":["/div[1]/a[1]/img[1]","//img[contains(., '')]","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-29]/div/div[last()-7]/a/img"],"exampleValues":[{"num":0,"value":"//img12.360buyimg.com/n7/jfs/t1/109789/26/27069/100701/64a29c89F4b5d42ee/268b40ebc376eba1.jpg.avif"}],"unique_index":"/div[1]/a[1]/img[1]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数4_文本","desc":"","relativeXPath":"/div[2]/strong[1]/em[1]","allXPaths":["/div[2]/strong[1]/em[1]","//em[contains(., '¥')]","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-29]/div/div[last()-6]/strong/em"],"exampleValues":[{"num":0,"value":"¥"}],"unique_index":"/div[2]/strong[1]/em[1]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数5_文本","desc":"","relativeXPath":"/div[2]/strong[1]/i[1]","allXPaths":["/div[2]/strong[1]/i[1]","//i[contains(., '2799.00')]","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-29]/div/div[last()-6]/strong/i"],"exampleValues":[{"num":0,"value":"2799.00"}],"unique_index":"/div[2]/strong[1]/i[1]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":1,"contentType":0,"relative":true,"name":"参数6_链接文本","desc":"","relativeXPath":"/div[3]/a[1]","allXPaths":["/div[3]/a[1]","//a[contains(., '格')]","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-29]/div/div[last()-5]/a"],"exampleValues":[{"num":0,"value":"\n\t\t\t\t\t\t\t\t格力(GREE)空调 云佳 大1匹新一级能效 变频冷暖 自清洁 卧室壁挂式空调挂机 KFR-26GW/NhGd1B(含管) 顶(皓雪白\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t"}],"unique_index":"/div[3]/a[1]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":2,"contentType":0,"relative":true,"name":"参数7_链接地址","desc":"","relativeXPath":"/div[3]/a[1]","allXPaths":["/div[3]/a[1]","//a[contains(., '格')]","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-29]/div/div[last()-5]/a"],"exampleValues":[{"num":0,"value":"//item.jd.com/10067439099522.html"}],"unique_index":"/div[3]/a[1]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数8_文本","desc":"","relativeXPath":"/div[3]/a[1]/em[1]","allXPaths":["/div[3]/a[1]/em[1]","//em[contains(., '格力(GREE)空调')]","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-29]/div/div[last()-5]/a/em"],"exampleValues":[{"num":0,"value":"格力(GREE)空调云佳大匹新一级能效变频冷暖自清洁卧室壁挂式空调挂机KFR-26GW/NhGdB(含管)顶(皓雪白"}],"unique_index":"/div[3]/a[1]/em[1]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数9_文本","desc":"","relativeXPath":"/div[3]/a[1]/em[1]/font[1]","allXPaths":["/div[3]/a[1]/em[1]/font[1]","//font[contains(., '1')]","//FONT[@class='skcolor_ljg']","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-29]/div/div[last()-5]/a/em/font[last()-1]"],"exampleValues":[{"num":0,"value":"1"}],"unique_index":"/div[3]/a[1]/em[1]/font[1]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数10_文本","desc":"","relativeXPath":"/div[3]/a[1]/em[1]/font[2]","allXPaths":["/div[3]/a[1]/em[1]/font[2]","//font[contains(., '1')]","//FONT[@class='skcolor_ljg']","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-29]/div/div[last()-5]/a/em/font"],"exampleValues":[{"num":0,"value":"1"}],"unique_index":"/div[3]/a[1]/em[1]/font[2]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数11_文本","desc":"","relativeXPath":"/div[4]/strong[1]","allXPaths":["/div[4]/strong[1]","//strong[contains(., '2万+条评价')]","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-29]/div/div[last()-4]/strong"],"exampleValues":[{"num":0,"value":"条评价"}],"unique_index":"/div[4]/strong[1]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":1,"contentType":0,"relative":true,"name":"参数12_链接文本","desc":"","relativeXPath":"/div[4]/strong[1]/a[1]","allXPaths":["/div[4]/strong[1]/a[1]","//a[contains(., '2万+')]","id(\"J_comment_10067439099522\")","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-29]/div/div[last()-4]/strong/a"],"exampleValues":[{"num":0,"value":"2万+"}],"unique_index":"/div[4]/strong[1]/a[1]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":2,"contentType":0,"relative":true,"name":"参数13_链接地址","desc":"","relativeXPath":"/div[4]/strong[1]/a[1]","allXPaths":["/div[4]/strong[1]/a[1]","//a[contains(., '2万+')]","id(\"J_comment_10067439099522\")","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-29]/div/div[last()-4]/strong/a"],"exampleValues":[{"num":0,"value":"//item.jd.com/10067439099522.html#comment"}],"unique_index":"/div[4]/strong[1]/a[1]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":1,"contentType":0,"relative":true,"name":"参数14_链接文本","desc":"","relativeXPath":"/div[5]/span[1]/a[1]","allXPaths":["/div[5]/span[1]/a[1]","//a[contains(., '格力官方旗舰店')]","//A[@class='curr-shop hd-shopname']","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-29]/div/div[last()-3]/span/a"],"exampleValues":[{"num":0,"value":"格力官方旗舰店"}],"unique_index":"/div[5]/span[1]/a[1]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":2,"contentType":0,"relative":true,"name":"参数15_链接地址","desc":"","relativeXPath":"/div[5]/span[1]/a[1]","allXPaths":["/div[5]/span[1]/a[1]","//a[contains(., '格力官方旗舰店')]","//A[@class='curr-shop hd-shopname']","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-29]/div/div[last()-3]/span/a"],"exampleValues":[{"num":0,"value":"//mall.jd.com/index-708522.html?from=pc"}],"unique_index":"/div[5]/span[1]/a[1]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":1,"contentType":0,"relative":true,"name":"参数16_链接文本","desc":"","relativeXPath":"/div[7]/a[1]","allXPaths":["/div[7]/a[1]","//a[contains(., '对比')]","//A[@class='p-o-btn contrast J_contrast contrast']","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-29]/div/div[last()-1]/a[last()-2]"],"exampleValues":[{"num":0,"value":"对比"}],"unique_index":"/div[7]/a[1]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":2,"contentType":0,"relative":true,"name":"参数17_链接地址","desc":"","relativeXPath":"/div[7]/a[1]","allXPaths":["/div[7]/a[1]","//a[contains(., '对比')]","//A[@class='p-o-btn contrast J_contrast contrast']","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-29]/div/div[last()-1]/a[last()-2]"],"exampleValues":[{"num":0,"value":"javascript:;"}],"unique_index":"/div[7]/a[1]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":1,"contentType":0,"relative":true,"name":"参数18_链接文本","desc":"","relativeXPath":"/div[7]/a[2]","allXPaths":["/div[7]/a[2]","//a[contains(., '关注')]","//A[@class='p-o-btn focus J_focus']","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-29]/div/div[last()-1]/a[last()-1]"],"exampleValues":[{"num":0,"value":"关注"}],"unique_index":"/div[7]/a[2]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":2,"contentType":0,"relative":true,"name":"参数19_链接地址","desc":"","relativeXPath":"/div[7]/a[2]","allXPaths":["/div[7]/a[2]","//a[contains(., '关注')]","//A[@class='p-o-btn focus J_focus']","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-29]/div/div[last()-1]/a[last()-1]"],"exampleValues":[{"num":0,"value":"javascript:;"}],"unique_index":"/div[7]/a[2]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":1,"contentType":0,"relative":true,"name":"参数20_链接文本","desc":"","relativeXPath":"/div[7]/a[3]","allXPaths":["/div[7]/a[3]","//a[contains(., '加入购物车')]","//A[@class='p-o-btn addcart']","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-29]/div/div[last()-1]/a"],"exampleValues":[{"num":0,"value":"加入购物车"}],"unique_index":"/div[7]/a[3]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":2,"contentType":0,"relative":true,"name":"参数21_链接地址","desc":"","relativeXPath":"/div[7]/a[3]","allXPaths":["/div[7]/a[3]","//a[contains(., '加入购物车')]","//A[@class='p-o-btn addcart']","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-29]/div/div[last()-1]/a"],"exampleValues":[{"num":0,"value":"//cart.jd.com/gate.action?pid=10067439099522&pcount=1&ptype=1"}],"unique_index":"/div[7]/a[3]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数22_文本","desc":"","relativeXPath":"/span[1]","allXPaths":["/span[1]","//span[contains(., '广告')]","//SPAN[@class='p-promo-flag']","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-29]/div/span"],"exampleValues":[{"num":0,"value":"广告"}],"unique_index":"/span[1]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":4,"contentType":1,"relative":true,"name":"参数23_图片地址","desc":"","relativeXPath":"/img[1]","allXPaths":["/img[1]","//img[contains(., '')]","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-29]/div/img"],"exampleValues":[{"num":0,"value":""}],"unique_index":"/img[1]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数24_文本","desc":"","relativeXPath":"/div[3]/a[1]/i[1]","allXPaths":["/div[3]/a[1]/i[1]","//i[contains(., '【自营】【365天只')]","id(\"J_AD_100050943080\")","//I[@class='promo-words']","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-28]/div/div[last()-5]/a/i"],"exampleValues":[{"num":1,"value":"【自营】【365天只换不修】2.4英寸大屏,大字体大声音,锌合金边框、来电报名字读短信、9个亲情号码、一键双灯手电筒、超长待机、精准定位、移动/电信/联通4G"}],"unique_index":"/div[3]/a[1]/i[1]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数25_文本","desc":"","relativeXPath":"/div[6]/i[1]","allXPaths":["/div[6]/i[1]","//i[contains(., '自营')]","//I[@class='goods-icons J-picon-tips J-picon-fix']","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-28]/div/div[last()-2]/i[last()-2]"],"exampleValues":[{"num":1,"value":"自营"}],"unique_index":"/div[6]/i[1]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数26_文本","desc":"","relativeXPath":"/div[6]/i[2]","allXPaths":["/div[6]/i[2]","//i[contains(., '放心购')]","//I[@class='goods-icons4 J-picon-tips']","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-28]/div/div[last()-2]/i[last()-1]"],"exampleValues":[{"num":1,"value":"放心购"}],"unique_index":"/div[6]/i[2]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数27_文本","desc":"","relativeXPath":"/div[6]/i[3]","allXPaths":["/div[6]/i[3]","//i[contains(., '新品')]","//I[@class='goods-icons3 J-picon-tips J-picon-fix']","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-28]/div/div[last()-2]/i"],"exampleValues":[{"num":1,"value":"新品"}],"unique_index":"/div[6]/i[3]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数28_文本","desc":"","relativeXPath":"/div[3]/a[1]/em[1]/font[3]","allXPaths":["/div[3]/a[1]/em[1]/font[3]","//font[contains(., '1')]","//FONT[@class='skcolor_ljg']","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-25]/div/div[last()-6]/a/em/font[last()-3]"],"exampleValues":[{"num":4,"value":"1"}],"unique_index":"/div[3]/a[1]/em[1]/font[3]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数29_文本","desc":"","relativeXPath":"/div[3]/a[1]/em[1]/font[4]","allXPaths":["/div[3]/a[1]/em[1]/font[4]","//font[contains(., '1')]","//FONT[@class='skcolor_ljg']","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-25]/div/div[last()-6]/a/em/font[last()-2]"],"exampleValues":[{"num":4,"value":"1"}],"unique_index":"/div[3]/a[1]/em[1]/font[4]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数30_文本","desc":"","relativeXPath":"/div[3]/a[1]/em[1]/font[5]","allXPaths":["/div[3]/a[1]/em[1]/font[5]","//font[contains(., '1')]","//FONT[@class='skcolor_ljg']","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-25]/div/div[last()-6]/a/em/font[last()-1]"],"exampleValues":[{"num":4,"value":"1"}],"unique_index":"/div[3]/a[1]/em[1]/font[5]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数31_文本","desc":"","relativeXPath":"/div[3]/a[1]/em[1]/font[6]","allXPaths":["/div[3]/a[1]/em[1]/font[6]","//font[contains(., '1')]","//FONT[@class='skcolor_ljg']","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-25]/div/div[last()-6]/a/em/font"],"exampleValues":[{"num":4,"value":"1"}],"unique_index":"/div[3]/a[1]/em[1]/font[6]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数32_文本","desc":"","relativeXPath":"/div[9]/span[1]","allXPaths":["/div[9]/span[1]","//span[contains(., '抢购中')]","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-25]/div/div/span"],"exampleValues":[{"num":4,"value":"抢购中"}],"unique_index":"/div[9]/span[1]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数33_文本","desc":"","relativeXPath":"/div[9]/em[1]","allXPaths":["/div[9]/em[1]","//em[contains(., '剩余19时05分44')]","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-25]/div/div/em"],"exampleValues":[{"num":4,"value":"剩余19时05分44秒"}],"unique_index":"/div[9]/em[1]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数34_文本","desc":"","relativeXPath":"/div[6]/i[4]","allXPaths":["/div[6]/i[4]","//i[contains(., '券200-20')]","//I[@class='goods-icons4 J-picon-tips']","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-20]/div/div[last()-2]/i"],"exampleValues":[{"num":9,"value":"券200-20"}],"unique_index":"/div[6]/i[4]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":1,"contentType":0,"relative":true,"name":"参数35_链接文本","desc":"","relativeXPath":"/div[4]/a[1]","allXPaths":["/div[4]/a[1]","//a[contains(., '去看二手')]","//A[@class='spu-link']","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-16]/div/div[last()-4]/a"],"exampleValues":[{"num":13,"value":"去看二手"}],"unique_index":"/div[4]/a[1]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":2,"contentType":0,"relative":true,"name":"参数36_链接地址","desc":"","relativeXPath":"/div[4]/a[1]","allXPaths":["/div[4]/a[1]","//a[contains(., '去看二手')]","//A[@class='spu-link']","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-16]/div/div[last()-4]/a"],"exampleValues":[{"num":13,"value":"//paipai.jd.com/pc/list.html?pid=100049916305"}],"unique_index":"/div[4]/a[1]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数37_文本","desc":"","relativeXPath":"/div[3]/a[1]/em[1]/font[7]","allXPaths":["/div[3]/a[1]/em[1]/font[7]","//font[contains(., '1')]","//FONT[@class='skcolor_ljg']","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-15]/div/div[last()-6]/a/em/font"],"exampleValues":[{"num":14,"value":"1"}],"unique_index":"/div[3]/a[1]/em[1]/font[7]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数38_文本","desc":"","relativeXPath":"/div[3]/a[1]/em[1]/span[1]","allXPaths":["/div[3]/a[1]/em[1]/span[1]","//span[contains(., '京品电脑')]","//SPAN[@class='p-tag']","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-14]/div/div[last()-6]/a/em/span"],"exampleValues":[{"num":15,"value":"京品电脑"}],"unique_index":"/div[3]/a[1]/em[1]/span[1]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":0,"contentType":1,"relative":true,"name":"参数39_文本","desc":"","relativeXPath":"/div[8]","allXPaths":["/div[8]","//div[contains(., '海外')]","//DIV[@class='p-stock']","/html/body/div[last()-11]/div/div/div[last()-1]/div/div[last()-2]/ul/li[last()-10]/div/div[last()-1]"],"exampleValues":[{"num":19,"value":"海外无货"}],"unique_index":"/div[8]","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0}],"loopType":1}},{"id":2,"index":18,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[19],"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":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":""}},{"id":3,"index":19,"parentId":2,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":4,"tabIndex":-1,"useLoop":true,"xpath":"/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div/a","iframe":true,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":""}}]} \ No newline at end of file diff --git a/ElectronJS/tasks/129.json b/ElectronJS/tasks/129.json new file mode 100644 index 0000000..e3fc969 --- /dev/null +++ b/ElectronJS/tasks/129.json @@ -0,0 +1 @@ +{"id":129,"name":"京东全球版-专业的综合网上购物商城","url":"https://www.jd.com","links":"https://www.jd.com","create_time":"7/5/2023, 5:00:59 AM","version":"0.3.5","saveThreshold":10,"cloudflare":0,"environment":0,"containJudge":false,"desc":"https://www.jd.com","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://www.jd.com","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"https://www.jd.com"}],"outputParameters":[],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2],"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0},"isInLoop":false},{"id":1,"index":1,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":0,"parameters":{"useLoop":false,"xpath":"","wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"https://www.jd.com","links":"https://www.jd.com","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1}},{"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/a","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":""}},{"id":3,"index":3,"parentId":2,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":4,"tabIndex":-1,"useLoop":true,"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":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":"","loopType":1}}]} \ No newline at end of file diff --git a/ElectronJS/tasks/130.json b/ElectronJS/tasks/130.json new file mode 100644 index 0000000..8f410b3 --- /dev/null +++ b/ElectronJS/tasks/130.json @@ -0,0 +1 @@ +{"id":130,"name":"百度一下,你就知道","url":"https://www.baidu.com/","links":"https://www.baidu.com/","create_time":"7/5/2023, 5:15:46 AM","version":"0.3.5","saveThreshold":10,"cloudflare":0,"environment":0,"containJudge":false,"desc":"https://www.baidu.com/","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://www.baidu.com/","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"https://www.baidu.com/"}],"outputParameters":[{"id":0,"name":"参数1_文本","desc":"","type":"string","exampleValue":"把牢正确方向 增进团结互信"}],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2],"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0},"isInLoop":false},{"id":1,"index":1,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":0,"parameters":{"useLoop":false,"xpath":"","wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"https://www.baidu.com/","links":"https://www.baidu.com/","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1}},{"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[1]/div[1]/div[5]/div[1]/div[1]/div[3]/ul[1]/li/a[1]","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":""}},{"id":3,"index":3,"parentId":2,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":4,"tabIndex":-1,"useLoop":true,"xpath":"/html/body/div[1]/div[1]/div[5]/div[1]/div[1]/div[3]/ul[1]/li/a[1]","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":"","loopType":1}},{"id":4,"index":4,"parentId":2,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":1,"parameters":{"history":1,"tabIndex":-1,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"paras":[{"nodeType":3,"contentType":0,"relative":false,"name":"参数1_文本","desc":"","extractType":0,"relativeXPath":"/html/body/div[3]/div[1]/div[1]/div[1]/div[1]/form[1]/span[1]/input[1]","allXPaths":["/html/body/div[3]/div[1]/div[1]/div[1]/div[1]/form[1]/span[1]/input[1]","//input[contains(., '')]","id(\"kw\")","//INPUT[@class='s_ipt']","//INPUT[@name='wd']","/html/body/div[last()-6]/div[last()-3]/div/div[last()-3]/div/form/span[last()-2]/input"],"exampleValues":[{"num":0,"value":"把牢正确方向 增进团结互信"}],"unique_index":"s89sfrujkzljosgb72","iframe":false,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0}]}}]} \ No newline at end of file diff --git a/ElectronJS/tasks/131.json b/ElectronJS/tasks/131.json new file mode 100644 index 0000000..f4cb671 --- /dev/null +++ b/ElectronJS/tasks/131.json @@ -0,0 +1 @@ +{"id":131,"name":"发现自己误成间谍帮手后主动投案 - 搜狗搜索","url":"https://www.sogou.com/web?query=%E5%8F%91%E7%8E%B0%E8%87%AA%E5%B7%B1%E8%AF%AF%E6%88%90%E9%97%B4%E8%B0%8D%E5%B8%AE%E6%89%8B%E5%90%8E%E4%B8%BB%E5%8A%A8%E6%8A%95%E6%A1%88&_asf=www.sogou.com&_ast=&w=01015002&p=40040108&ie=utf8&from=index-nologin&s_from=index&oq=&ri=0&sourceid=sugg&suguuid=&stj=0%3B15%3B0%3B0&stj2=0&stj0=0&stj1=15&hp=186&hp1=&suglabid=suglabId_1&sut=5593&sst0=1688505472858&lkt=2%2C1688505467266%2C1688505467275&sugsuv=1688505456057167&sugtime=1688505472858&pid=sogou-wsse-af5baf594e9197b4-0001","links":"https://www.sogou.com/web?query=%E5%8F%91%E7%8E%B0%E8%87%AA%E5%B7%B1%E8%AF%AF%E6%88%90%E9%97%B4%E8%B0%8D%E5%B8%AE%E6%89%8B%E5%90%8E%E4%B8%BB%E5%8A%A8%E6%8A%95%E6%A1%88&_asf=www.sogou.com&_ast=&w=01015002&p=40040108&ie=utf8&from=index-nologin&s_from=index&oq=&ri=0&sourceid=sugg&suguuid=&stj=0%3B15%3B0%3B0&stj2=0&stj0=0&stj1=15&hp=186&hp1=&suglabid=suglabId_1&sut=5593&sst0=1688505472858&lkt=2%2C1688505467266%2C1688505467275&sugsuv=1688505456057167&sugtime=1688505472858&pid=sogou-wsse-af5baf594e9197b4-0001","create_time":"7/5/2023, 6:00:44 AM","version":"0.3.5","saveThreshold":10,"cloudflare":0,"environment":0,"containJudge":false,"desc":"https://www.sogou.com/web?query=%E5%8F%91%E7%8E%B0%E8%87%AA%E5%B7%B1%E8%AF%AF%E6%88%90%E9%97%B4%E8%B0%8D%E5%B8%AE%E6%89%8B%E5%90%8E%E4%B8%BB%E5%8A%A8%E6%8A%95%E6%A1%88&_asf=www.sogou.com&_ast=&w=01015002&p=40040108&ie=utf8&from=index-nologin&s_from=index&oq=&ri=0&sourceid=sugg&suguuid=&stj=0%3B15%3B0%3B0&stj2=0&stj0=0&stj1=15&hp=186&hp1=&suglabid=suglabId_1&sut=5593&sst0=1688505472858&lkt=2%2C1688505467266%2C1688505467275&sugsuv=1688505456057167&sugtime=1688505472858&pid=sogou-wsse-af5baf594e9197b4-0001","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://www.sogou.com/web?query=%E5%8F%91%E7%8E%B0%E8%87%AA%E5%B7%B1%E8%AF%AF%E6%88%90%E9%97%B4%E8%B0%8D%E5%B8%AE%E6%89%8B%E5%90%8E%E4%B8%BB%E5%8A%A8%E6%8A%95%E6%A1%88&_asf=www.sogou.com&_ast=&w=01015002&p=40040108&ie=utf8&from=index-nologin&s_from=index&oq=&ri=0&sourceid=sugg&suguuid=&stj=0%3B15%3B0%3B0&stj2=0&stj0=0&stj1=15&hp=186&hp1=&suglabid=suglabId_1&sut=5593&sst0=1688505472858&lkt=2%2C1688505467266%2C1688505467275&sugsuv=1688505456057167&sugtime=1688505472858&pid=sogou-wsse-af5baf594e9197b4-0001","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"https://www.sogou.com/web?query=%E5%8F%91%E7%8E%B0%E8%87%AA%E5%B7%B1%E8%AF%AF%E6%88%90%E9%97%B4%E8%B0%8D%E5%B8%AE%E6%89%8B%E5%90%8E%E4%B8%BB%E5%8A%A8%E6%8A%95%E6%A1%88&_asf=www.sogou.com&_ast=&w=01015002&p=40040108&ie=utf8&from=index-nologin&s_from=index&oq=&ri=0&sourceid=sugg&suguuid=&stj=0%3B15%3B0%3B0&stj2=0&stj0=0&stj1=15&hp=186&hp1=&suglabid=suglabId_1&sut=5593&sst0=1688505472858&lkt=2%2C1688505467266%2C1688505467275&sugsuv=1688505456057167&sugtime=1688505472858&pid=sogou-wsse-af5baf594e9197b4-0001"}],"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":5,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"https://www.sogou.com/web?query=%E5%8F%91%E7%8E%B0%E8%87%AA%E5%B7%B1%E8%AF%AF%E6%88%90%E9%97%B4%E8%B0%8D%E5%B8%AE%E6%89%8B%E5%90%8E%E4%B8%BB%E5%8A%A8%E6%8A%95%E6%A1%88&_asf=www.sogou.com&_ast=&w=01015002&p=40040108&ie=utf8&from=index-nologin&s_from=index&oq=&ri=0&sourceid=sugg&suguuid=&stj=0%3B15%3B0%3B0&stj2=0&stj0=0&stj1=15&hp=186&hp1=&suglabid=suglabId_1&sut=5593&sst0=1688505472858&lkt=2%2C1688505467266%2C1688505467275&sugsuv=1688505456057167&sugtime=1688505472858&pid=sogou-wsse-af5baf594e9197b4-0001","links":"https://www.sogou.com/web?query=%E5%8F%91%E7%8E%B0%E8%87%AA%E5%B7%B1%E8%AF%AF%E6%88%90%E9%97%B4%E8%B0%8D%E5%B8%AE%E6%89%8B%E5%90%8E%E4%B8%BB%E5%8A%A8%E6%8A%95%E6%A1%88&_asf=www.sogou.com&_ast=&w=01015002&p=40040108&ie=utf8&from=index-nologin&s_from=index&oq=&ri=0&sourceid=sugg&suguuid=&stj=0%3B15%3B0%3B0&stj2=0&stj0=0&stj1=15&hp=186&hp1=&suglabid=suglabId_1&sut=5593&sst0=1688505472858&lkt=2%2C1688505467266%2C1688505467275&sugsuv=1688505456057167&sugtime=1688505472858&pid=sogou-wsse-af5baf594e9197b4-0001","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1}},{"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[3]/div[2]/div[2]/div[1]/div[1]/div[2]/ol[1]/li/span[1]/p[1]","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":""}},{"id":3,"index":3,"parentId":2,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":4,"tabIndex":-1,"useLoop":true,"xpath":"/html/body/div[3]/div[2]/div[2]/div[1]/div[1]/div[2]/ol[1]/li/span[1]/p[1]","iframe":false,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":"","loopType":1}},{"id":4,"index":4,"parentId":2,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":1,"parameters":{"history":1,"tabIndex":-1,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"paras":[{"nodeType":3,"contentType":0,"relative":false,"name":"参数1_文本","desc":"","extractType":0,"relativeXPath":"/html/body/div[3]/div[1]/div[1]/form[1]/div[1]/div[1]/div[1]/input[1]","allXPaths":["/html/body/div[3]/div[1]/div[1]/form[1]/div[1]/div[1]/div[1]/input[1]","//input[contains(., '')]","id(\"upquery\")","//INPUT[@class='query']","//INPUT[@name='query']","/html/body/div[last()-3]/div[last()-5]/div/form[last()-1]/div/div/div/input"],"exampleValues":[{"num":0,"value":"发现自己误成间谍帮手后主动投案"}],"unique_index":"26fghtlzmtaljosmf5q","iframe":false,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0}]}}]} \ No newline at end of file diff --git a/ElectronJS/tasks/132.json b/ElectronJS/tasks/132.json new file mode 100644 index 0000000..73ad80f --- /dev/null +++ b/ElectronJS/tasks/132.json @@ -0,0 +1 @@ +{"id":132,"name":"Dynamic Iframe","url":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=https://www.sogou.com/web?query=%E5%8F%91%E7%8E%B0%E8%87%AA%E5%B7%B1%E8%AF%AF%E6%88%90%E9%97%B4%E8%B0%8D%E5%B8%AE%E6%89%8B%E5%90%8E%E4%B8%BB%E5%8A%A8%E6%8A%95%E6%A1%88&_asf=www.sogou.com&_ast=&w=01015002&p=40040108&ie=utf8&from=index-nologin&s_from=index&oq=&ri=0&sourceid=sugg&suguuid=&stj=0%3B15%3B0%3B0&stj2=0&stj0=0&stj1=15&hp=186&hp1=&suglabid=suglabId_1&sut=5593&sst0=1688505472858&lkt=2%2C1688505467266%2C1688505467275&sugsuv=1688505456057167&sugtime=1688505472858&pid=sogou-wsse-af5baf594e9197b4-0001","links":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=https://www.sogou.com/web?query=%E5%8F%91%E7%8E%B0%E8%87%AA%E5%B7%B1%E8%AF%AF%E6%88%90%E9%97%B4%E8%B0%8D%E5%B8%AE%E6%89%8B%E5%90%8E%E4%B8%BB%E5%8A%A8%E6%8A%95%E6%A1%88&_asf=www.sogou.com&_ast=&w=01015002&p=40040108&ie=utf8&from=index-nologin&s_from=index&oq=&ri=0&sourceid=sugg&suguuid=&stj=0%3B15%3B0%3B0&stj2=0&stj0=0&stj1=15&hp=186&hp1=&suglabid=suglabId_1&sut=5593&sst0=1688505472858&lkt=2%2C1688505467266%2C1688505467275&sugsuv=1688505456057167&sugtime=1688505472858&pid=sogou-wsse-af5baf594e9197b4-0001","create_time":"7/5/2023, 6:43:39 AM","version":"0.3.5","saveThreshold":10,"cloudflare":0,"environment":0,"containJudge":false,"desc":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=https://www.sogou.com/web?query=%E5%8F%91%E7%8E%B0%E8%87%AA%E5%B7%B1%E8%AF%AF%E6%88%90%E9%97%B4%E8%B0%8D%E5%B8%AE%E6%89%8B%E5%90%8E%E4%B8%BB%E5%8A%A8%E6%8A%95%E6%A1%88&_asf=www.sogou.com&_ast=&w=01015002&p=40040108&ie=utf8&from=index-nologin&s_from=index&oq=&ri=0&sourceid=sugg&suguuid=&stj=0%3B15%3B0%3B0&stj2=0&stj0=0&stj1=15&hp=186&hp1=&suglabid=suglabId_1&sut=5593&sst0=1688505472858&lkt=2%2C1688505467266%2C1688505467275&sugsuv=1688505456057167&sugtime=1688505472858&pid=sogou-wsse-af5baf594e9197b4-0001","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=https://www.sogou.com/web?query=%E5%8F%91%E7%8E%B0%E8%87%AA%E5%B7%B1%E8%AF%AF%E6%88%90%E9%97%B4%E8%B0%8D%E5%B8%AE%E6%89%8B%E5%90%8E%E4%B8%BB%E5%8A%A8%E6%8A%95%E6%A1%88&_asf=www.sogou.com&_ast=&w=01015002&p=40040108&ie=utf8&from=index-nologin&s_from=index&oq=&ri=0&sourceid=sugg&suguuid=&stj=0%3B15%3B0%3B0&stj2=0&stj0=0&stj1=15&hp=186&hp1=&suglabid=suglabId_1&sut=5593&sst0=1688505472858&lkt=2%2C1688505467266%2C1688505467275&sugsuv=1688505456057167&sugtime=1688505472858&pid=sogou-wsse-af5baf594e9197b4-0001","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=https://www.sogou.com/web?query=%E5%8F%91%E7%8E%B0%E8%87%AA%E5%B7%B1%E8%AF%AF%E6%88%90%E9%97%B4%E8%B0%8D%E5%B8%AE%E6%89%8B%E5%90%8E%E4%B8%BB%E5%8A%A8%E6%8A%95%E6%A1%88&_asf=www.sogou.com&_ast=&w=01015002&p=40040108&ie=utf8&from=index-nologin&s_from=index&oq=&ri=0&sourceid=sugg&suguuid=&stj=0%3B15%3B0%3B0&stj2=0&stj0=0&stj1=15&hp=186&hp1=&suglabid=suglabId_1&sut=5593&sst0=1688505472858&lkt=2%2C1688505467266%2C1688505467275&sugsuv=1688505456057167&sugtime=1688505472858&pid=sogou-wsse-af5baf594e9197b4-0001"}],"outputParameters":[{"id":0,"name":"自定义参数_0","desc":"","type":"string","exampleValue":"自定义字段"}],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2],"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0},"isInLoop":false},{"id":1,"index":1,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":0,"parameters":{"useLoop":false,"xpath":"","wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=https://www.sogou.com/web?query=%E5%8F%91%E7%8E%B0%E8%87%AA%E5%B7%B1%E8%AF%AF%E6%88%90%E9%97%B4%E8%B0%8D%E5%B8%AE%E6%89%8B%E5%90%8E%E4%B8%BB%E5%8A%A8%E6%8A%95%E6%A1%88&_asf=www.sogou.com&_ast=&w=01015002&p=40040108&ie=utf8&from=index-nologin&s_from=index&oq=&ri=0&sourceid=sugg&suguuid=&stj=0%3B15%3B0%3B0&stj2=0&stj0=0&stj1=15&hp=186&hp1=&suglabid=suglabId_1&sut=5593&sst0=1688505472858&lkt=2%2C1688505467266%2C1688505467275&sugsuv=1688505456057167&sugtime=1688505472858&pid=sogou-wsse-af5baf594e9197b4-0001","links":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=https://www.sogou.com/web?query=%E5%8F%91%E7%8E%B0%E8%87%AA%E5%B7%B1%E8%AF%AF%E6%88%90%E9%97%B4%E8%B0%8D%E5%B8%AE%E6%89%8B%E5%90%8E%E4%B8%BB%E5%8A%A8%E6%8A%95%E6%A1%88&_asf=www.sogou.com&_ast=&w=01015002&p=40040108&ie=utf8&from=index-nologin&s_from=index&oq=&ri=0&sourceid=sugg&suguuid=&stj=0%3B15%3B0%3B0&stj2=0&stj0=0&stj1=15&hp=186&hp1=&suglabid=suglabId_1&sut=5593&sst0=1688505472858&lkt=2%2C1688505467266%2C1688505467275&sugsuv=1688505456057167&sugtime=1688505472858&pid=sogou-wsse-af5baf594e9197b4-0001","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1}},{"id":2,"index":2,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[5,6],"isInLoop":false,"position":1,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"/html/body/div[3]/div[2]/div[2]/div[1]/div[1]/div[2]/ol[1]/li/span[1]/p[1]/a[1]","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":""}},{"id":-1,"index":3,"parentId":2,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":5,"tabIndex":-1,"useLoop":true,"xpath":"/html/body/div[3]/div[2]/div[2]/div[1]/div[1]/div[2]/ol[1]/li/span[1]/p[1]/a[1]","iframe":true,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":"","loopType":1}},{"id":-1,"index":4,"parentId":2,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"paras":[{"nodeType":0,"contentType":0,"relative":true,"name":"自定义参数_0","desc":"","extractType":0,"relativeXPath":"","allXPaths":[],"exampleValues":[{"num":0,"value":"自定义字段"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0,"iframe":true}]}},{"id":3,"index":5,"parentId":2,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":1,"tabIndex":0,"useLoop":true,"xpath":"","iframe":true,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[]}},{"id":4,"index":6,"parentId":2,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":1,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"paras":[{"nodeType":3,"contentType":0,"relative":false,"name":"自定义参数_0","desc":"","extractType":0,"relativeXPath":"/html/body/div[3]/div[1]/div[1]/form[1]/div[1]/div[1]/div[1]/input[1]","allXPaths":[],"exampleValues":[{"num":0,"value":"自定义字段"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0}]}}]} \ No newline at end of file diff --git a/ElectronJS/tasks/133.json b/ElectronJS/tasks/133.json new file mode 100644 index 0000000..13b7297 --- /dev/null +++ b/ElectronJS/tasks/133.json @@ -0,0 +1 @@ +{"id":133,"name":"京东全球版-专业的综合网上购物商城","url":"https://www.jd.com","links":"https://www.jd.com","create_time":"7/5/2023, 8:25:45 AM","version":"0.3.5","saveThreshold":10,"cloudflare":0,"environment":0,"containJudge":true,"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":[],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2,3,5],"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0},"isInLoop":false},{"id":1,"index":1,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":0,"parameters":{"useLoop":false,"xpath":"","wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"https://www.jd.com","links":"https://www.jd.com","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1}},{"id":2,"index":2,"parentId":0,"type":0,"option":7,"title":"移动到元素","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[2]","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"allXPaths":["/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[2]","//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()-11]"]}},{"id":3,"index":3,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[10],"isInLoop":false,"position":2,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":""}},{"id":9,"index":4,"parentId":7,"type":0,"option":7,"title":"移动到元素","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":4,"tabIndex":-1,"useLoop":true,"xpath":"/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"allXPaths":"","loopType":1}},{"id":4,"index":5,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[6],"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[1]/div[1]/div[1]/div[1]/div/a","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":""}},{"id":6,"index":6,"parentId":4,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":4,"tabIndex":-1,"useLoop":true,"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":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":""}},{"id":-1,"index":7,"parentId":3,"type":2,"option":9,"title":"判断条件","sequence":[8,9],"isInLoop":true,"position":0,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0}},{"id":-1,"parentId":5,"index":8,"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,"class":0,"value":"","code":"","waitTime":0},"position":0},{"id":-1,"parentId":5,"index":9,"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,"class":0,"value":"","code":"","waitTime":0},"position":1},{"id":5,"index":10,"parentId":3,"type":2,"option":9,"title":"判断条件","sequence":[11,12],"isInLoop":true,"position":0,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0}},{"id":7,"parentId":5,"index":11,"type":3,"option":10,"title":"条件分支","sequence":[4],"isInLoop":true,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"class":"1","value":"京东","code":"","waitTime":0},"position":0},{"id":8,"parentId":5,"index":12,"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,"class":0,"value":"","code":"","waitTime":0},"position":1}]} \ No newline at end of file diff --git a/ElectronJS/tasks/134.json b/ElectronJS/tasks/134.json new file mode 100644 index 0000000..5dc5c45 --- /dev/null +++ b/ElectronJS/tasks/134.json @@ -0,0 +1 @@ +{"id":134,"name":"Dynamic Iframe","url":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com","links":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com","create_time":"7/5/2023, 6:23:29 AM","version":"0.3.5","saveThreshold":10,"cloudflare":0,"environment":0,"containJudge":false,"desc":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com"}],"outputParameters":[{"id":0,"name":"自定义参数_0","desc":"","type":"string","exampleValue":"自定义字段"},{"id":1,"name":"自定义参数_1","desc":"","type":"string","exampleValue":"自定义字段"}],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2,3,5],"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":3,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com","links":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1}},{"id":2,"index":2,"parentId":0,"type":0,"option":7,"title":"移动到元素","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[2]","iframe":true,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"allXPaths":["/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[2]","//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()-11]"]}},{"id":3,"index":3,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[4],"isInLoop":false,"position":2,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":""}},{"id":5,"index":4,"parentId":3,"type":0,"option":7,"title":"移动到元素","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":5,"tabIndex":-1,"useLoop":true,"xpath":"/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"allXPaths":"","loopType":1}},{"id":4,"index":5,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[8,6,7],"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[1]/div[1]/div[1]/div[1]/div/a","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":""}},{"id":7,"index":6,"parentId":4,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":true,"position":1,"parameters":{"history":4,"tabIndex":-1,"useLoop":true,"xpath":"/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div/a","iframe":true,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":"","loopType":1}},{"id":8,"index":7,"parentId":4,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":2,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"paras":[{"nodeType":0,"contentType":0,"relative":false,"name":"自定义参数_0","desc":"","extractType":0,"relativeXPath":"/html/body","allXPaths":[],"exampleValues":[{"num":0,"value":"自定义字段"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0,"iframe":true}]}},{"id":6,"index":8,"parentId":4,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"paras":[{"nodeType":0,"contentType":0,"relative":true,"name":"自定义参数_1","desc":"","extractType":0,"relativeXPath":"","allXPaths":[],"exampleValues":[{"num":0,"value":"自定义字段"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0,"iframe":true}]}}]} \ No newline at end of file diff --git a/ElectronJS/tasks/135.json b/ElectronJS/tasks/135.json new file mode 100644 index 0000000..c3fc327 --- /dev/null +++ b/ElectronJS/tasks/135.json @@ -0,0 +1 @@ +{"id":135,"name":"HTML Select example","url":"http://localhost:8074/taskGrid/test_pages/select.html","links":"http://localhost:8074/taskGrid/test_pages/select.html","create_time":"7/5/2023, 6:52:44 AM","version":"0.3.5","saveThreshold":10,"cloudflare":0,"environment":0,"containJudge":false,"desc":"http://localhost:8074/taskGrid/test_pages/select.html","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"http://localhost:8074/taskGrid/test_pages/select.html","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"http://localhost:8074/taskGrid/test_pages/select.html"}],"outputParameters":[],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2],"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0},"isInLoop":false},{"id":1,"index":1,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":0,"parameters":{"useLoop":false,"xpath":"","wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"http://localhost:8074/taskGrid/test_pages/select.html","links":"http://localhost:8074/taskGrid/test_pages/select.html","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1}},{"id":2,"index":2,"parentId":0,"type":0,"option":6,"title":"切换下拉选项","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"cars\"]","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"allXPaths":["/html/body/form[1]/select[1]","//select[contains(., '')]","id(\"cars\")","/html/body/form/select"],"optionMode":0,"optionValue":"Saab"}}]} \ No newline at end of file diff --git a/ElectronJS/tasks/136.json b/ElectronJS/tasks/136.json new file mode 100644 index 0000000..b1610b0 --- /dev/null +++ b/ElectronJS/tasks/136.json @@ -0,0 +1 @@ +{"id":136,"name":"Dynamic Iframe","url":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://localhost:8074/taskGrid/test_pages/select.html","links":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://localhost:8074/taskGrid/test_pages/select.html","create_time":"7/5/2023, 7:39:11 AM","version":"0.3.5","saveThreshold":10,"cloudflare":0,"environment":0,"containJudge":true,"desc":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://localhost:8074/taskGrid/test_pages/select.html","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://localhost:8074/taskGrid/test_pages/select.html","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://localhost:8074/taskGrid/test_pages/select.html"}],"outputParameters":[{"id":0,"name":"自定义参数_1","desc":"","type":"string","exampleValue":"自定义字段"},{"id":1,"name":"自定义参数_0","desc":"","type":"string","exampleValue":"自定义字段"}],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,3,2,8,13,23],"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0},"isInLoop":false},{"id":1,"index":1,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":0,"parameters":{"useLoop":false,"xpath":"","wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://localhost:8074/taskGrid/test_pages/select.html","links":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://localhost:8074/taskGrid/test_pages/select.html","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1}},{"id":3,"index":2,"parentId":0,"type":0,"option":6,"title":"切换下拉选项","sequence":[],"isInLoop":false,"position":2,"parameters":{"history":8,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"cars\"]","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"allXPaths":["/html/body/form[1]/select[1]","//select[contains(., '')]","id(\"cars\")","/html/body/form/select"],"optionMode":"1","optionValue":"2"}},{"id":2,"index":3,"parentId":0,"type":0,"option":5,"title":"自定义操作","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,"codeMode":0,"code":"document.body.style.background = \"black\"","waitTime":0,"recordASField":0}},{"id":-1,"index":4,"parentId":0,"type":2,"option":9,"title":"判断条件","sequence":[5,6],"isInLoop":false,"position":2,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0}},{"id":-1,"parentId":3,"index":5,"type":3,"option":10,"title":"条件分支","sequence":[],"isInLoop":false,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"class":"5","value":"","code":"","waitTime":0},"position":0},{"id":-1,"parentId":3,"index":6,"type":3,"option":10,"title":"条件分支","sequence":[],"isInLoop":false,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"class":0,"value":"","code":"","waitTime":0},"position":1},{"id":-1,"index":7,"parentId":0,"type":1,"option":8,"title":"循环","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,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":0,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0}},{"id":4,"index":8,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":3,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"codeMode":0,"code":"document.body.style.background = \"blue\"","waitTime":0,"recordASField":0}},{"id":-1,"index":9,"parentId":0,"type":2,"option":9,"title":"判断条件","sequence":[10],"isInLoop":false,"position":5,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0}},{"id":-1,"parentId":6,"index":10,"type":3,"option":10,"title":"条件分支","sequence":[12],"isInLoop":false,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":3,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"class":"5","value":"","code":"return document.body.style.background == \"blue\"","waitTime":0},"position":0},{"id":-1,"parentId":5,"index":11,"type":3,"option":10,"title":"条件分支","sequence":[],"isInLoop":false,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"class":0,"value":"","code":"","waitTime":0},"position":1},{"id":-1,"index":12,"parentId":9,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":false,"position":0,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"paras":[{"nodeType":0,"contentType":0,"relative":false,"name":"自定义参数_0","desc":"","extractType":0,"relativeXPath":"/html/body","allXPaths":[],"exampleValues":[{"num":0,"value":"自定义字段"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0,"iframe":false}]}},{"id":5,"index":13,"parentId":0,"type":2,"option":9,"title":"判断条件","sequence":[14],"isInLoop":false,"position":4,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0}},{"id":7,"parentId":5,"index":14,"type":3,"option":10,"title":"条件分支","sequence":[22],"isInLoop":false,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":true,"wait":4,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"class":"5","value":"","code":"return document.body.style.background == \"blue\"","waitTime":0},"position":0},{"id":-1,"parentId":6,"index":15,"type":3,"option":10,"title":"条件分支","sequence":[],"isInLoop":false,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"class":0,"value":"","code":"","waitTime":0},"position":1},{"id":-1,"index":16,"parentId":7,"type":2,"option":9,"title":"提取数据","sequence":[17,18],"isInLoop":false,"position":0,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0}},{"id":-1,"parentId":9,"index":17,"type":3,"option":10,"title":"条件分支","sequence":[],"isInLoop":false,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"class":0,"value":"","code":"","waitTime":0},"position":0},{"id":-1,"parentId":9,"index":18,"type":3,"option":10,"title":"条件分支","sequence":[],"isInLoop":false,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"class":0,"value":"","code":"","waitTime":0},"position":1},{"id":-1,"index":19,"parentId":7,"type":2,"option":9,"title":"提取数据","sequence":[20,21],"isInLoop":false,"position":0,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0}},{"id":-1,"parentId":9,"index":20,"type":3,"option":10,"title":"条件分支","sequence":[],"isInLoop":false,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"class":0,"value":"","code":"","waitTime":0},"position":0},{"id":-1,"parentId":9,"index":21,"type":3,"option":10,"title":"条件分支","sequence":[],"isInLoop":false,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"class":0,"value":"","code":"","waitTime":0},"position":1},{"id":8,"index":22,"parentId":7,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":false,"position":0,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"paras":[{"nodeType":0,"contentType":0,"relative":false,"name":"自定义参数_1","desc":"","extractType":0,"relativeXPath":"//body","allXPaths":[],"exampleValues":[{"num":0,"value":"自定义字段"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0,"iframe":true}]}},{"id":6,"index":23,"parentId":0,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":false,"position":5,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":3,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"paras":[{"nodeType":0,"contentType":0,"relative":false,"name":"自定义参数_0","desc":"","extractType":0,"relativeXPath":"//h1","allXPaths":[],"exampleValues":[{"num":0,"value":"自定义字段"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0}]}}]} \ No newline at end of file diff --git a/ElectronJS/tasks/137.json b/ElectronJS/tasks/137.json new file mode 100644 index 0000000..3de4d7c --- /dev/null +++ b/ElectronJS/tasks/137.json @@ -0,0 +1 @@ +{"id":137,"name":"Dynamic Iframe","url":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com","links":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com","create_time":"7/5/2023, 8:22:41 AM","version":"0.3.5","saveThreshold":10,"cloudflare":0,"environment":0,"containJudge":true,"desc":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com"}],"outputParameters":[{"id":0,"name":"参数1_链接文本","desc":"","type":"string","exampleValue":"数码"},{"id":1,"name":"参数2_链接地址","desc":"","type":"string","exampleValue":"https://shuma.jd.com/"}],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,9],"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":3,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com","links":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1}},{"id":-1,"index":2,"parentId":0,"type":0,"option":7,"title":"移动到元素","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[2]","iframe":true,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"allXPaths":["/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[2]","//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()-11]"]}},{"id":-1,"index":3,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[4],"isInLoop":false,"position":1,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":""}},{"id":-1,"index":4,"parentId":2,"type":0,"option":7,"title":"移动到元素","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":5,"tabIndex":-1,"useLoop":true,"xpath":"/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"allXPaths":"","loopType":1}},{"id":-1,"index":5,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[8,6,7],"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":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":""}},{"id":-1,"index":6,"parentId":2,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":true,"position":1,"parameters":{"history":4,"tabIndex":-1,"useLoop":true,"xpath":"/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div/a","iframe":true,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":"","loopType":1}},{"id":-1,"index":7,"parentId":2,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":2,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"paras":[{"nodeType":0,"contentType":0,"relative":false,"name":"自定义参数_0","desc":"","extractType":0,"relativeXPath":"/html/body","allXPaths":[],"exampleValues":[{"num":0,"value":"自定义字段"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0,"iframe":true}]}},{"id":-1,"index":8,"parentId":2,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"paras":[{"nodeType":0,"contentType":0,"relative":true,"name":"自定义参数_1","desc":"","extractType":0,"relativeXPath":"","allXPaths":[],"exampleValues":[{"num":0,"value":"自定义字段"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0,"iframe":true}]}},{"id":2,"index":9,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[11],"isInLoop":false,"position":1,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":"1","pathList":"//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[1]/a[2]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[2]/a[1]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[3]/a[1]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[3]/a[2]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[4]/a[1]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[4]/a[2]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[4]/a[3]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[5]/a[1]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[5]/a[2]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[5]/a[4]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[6]/a[1]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[6]/a[2]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[6]/a[3]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[6]/a[4]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[7]/a[1]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[7]/a[2]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[7]/a[3]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[7]/a[4]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[8]/a[1]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[8]/a[2]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[8]/a[3]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[9]/a[1]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[9]/a[2]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[10]/a[1]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[10]/a[2]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[11]/a[1]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[11]/a[2]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[12]/a[1]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[12]/a[2]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[12]/a[3]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[13]/a[1]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[13]/a[2]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[13]/a[3]","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":""}},{"id":6,"index":10,"parentId":4,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"paras":[{"nodeType":1,"contentType":0,"relative":true,"name":"参数1_链接文本","desc":"","extractType":0,"relativeXPath":"","allXPaths":"","exampleValues":[{"num":0,"value":"数码"}],"unique_index":"7ozwfteuj7nljoxx7ne","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":2,"contentType":0,"relative":true,"name":"参数2_链接地址","desc":"","relativeXPath":"","allXPaths":"","exampleValues":[{"num":0,"value":"https://shuma.jd.com/"}],"unique_index":"7ozwfteuj7nljoxx7ne","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0}],"loopType":2}},{"id":3,"index":11,"parentId":2,"type":2,"option":9,"title":"判断条件","sequence":[12,13],"isInLoop":true,"position":0,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0}},{"id":4,"parentId":3,"index":12,"type":3,"option":10,"title":"条件分支","sequence":[10],"isInLoop":true,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"class":"1","value":"京东","code":"return arguments[0].innerText.length < 3","waitTime":0},"position":0},{"id":5,"parentId":3,"index":13,"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,"class":0,"value":"","code":"","waitTime":0},"position":1}]} \ No newline at end of file diff --git a/ElectronJS/tasks/138.json b/ElectronJS/tasks/138.json new file mode 100644 index 0000000..4f05aba --- /dev/null +++ b/ElectronJS/tasks/138.json @@ -0,0 +1 @@ +{"id":138,"name":"Dynamic Iframe","url":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com","links":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com","create_time":"7/5/2023, 8:40:16 AM","version":"0.3.5","saveThreshold":10,"cloudflare":0,"environment":0,"containJudge":false,"desc":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com"}],"outputParameters":[{"id":0,"name":"参数1_链接文本","desc":"","type":"string","exampleValue":"手机"},{"id":1,"name":"参数2_链接地址","desc":"","type":"string","exampleValue":"https://shouji.jd.com/"},{"id":2,"name":"自定义操作","desc":"自定义操作返回的数据","type":"string","exampleValue":""},{"id":3,"name":"自定义操作2","desc":"自定义操作返回的数据","type":"string","exampleValue":""}],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,14],"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":3,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com","links":"http://localhost:8074/taskGrid/test_pages/iframe.html?address=http://jd.com","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1}},{"id":-1,"index":2,"parentId":0,"type":0,"option":7,"title":"移动到元素","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[2]","iframe":true,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"allXPaths":["/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[2]","//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()-11]"]}},{"id":-1,"index":3,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[4],"isInLoop":false,"position":1,"parameters":{"history":5,"tabIndex":-1,"useLoop":false,"xpath":"/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":""}},{"id":-1,"index":4,"parentId":2,"type":0,"option":7,"title":"移动到元素","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":5,"tabIndex":-1,"useLoop":true,"xpath":"/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"allXPaths":"","loopType":1}},{"id":-1,"index":5,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[8,6,7],"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":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":""}},{"id":-1,"index":6,"parentId":2,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":true,"position":1,"parameters":{"history":4,"tabIndex":-1,"useLoop":true,"xpath":"/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div/a","iframe":true,"wait":2,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"clickWay":0,"maxWaitTime":10,"paras":[],"allXPaths":"","loopType":1}},{"id":-1,"index":7,"parentId":2,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":2,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"paras":[{"nodeType":0,"contentType":0,"relative":false,"name":"自定义参数_0","desc":"","extractType":0,"relativeXPath":"/html/body","allXPaths":[],"exampleValues":[{"num":0,"value":"自定义字段"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0,"iframe":true}]}},{"id":-1,"index":8,"parentId":2,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"paras":[{"nodeType":0,"contentType":0,"relative":true,"name":"自定义参数_1","desc":"","extractType":0,"relativeXPath":"","allXPaths":[],"exampleValues":[{"num":0,"value":"自定义字段"}],"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0,"iframe":true}]}},{"id":-1,"index":9,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[11],"isInLoop":false,"position":1,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":"1","pathList":"//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[1]/a[2]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[2]/a[1]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[3]/a[1]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[3]/a[2]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[4]/a[1]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[4]/a[2]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[4]/a[3]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[5]/a[1]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[5]/a[2]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[5]/a[4]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[6]/a[1]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[6]/a[2]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[6]/a[3]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[6]/a[4]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[7]/a[1]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[7]/a[2]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[7]/a[3]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[7]/a[4]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[8]/a[1]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[8]/a[2]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[8]/a[3]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[9]/a[1]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[9]/a[2]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[10]/a[1]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[10]/a[2]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[11]/a[1]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[11]/a[2]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[12]/a[1]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[12]/a[2]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[12]/a[3]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[13]/a[1]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[13]/a[2]\n//*[contains(@class, \"LeftSide_menu_list__qXCeM\")]/div[13]/a[3]","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":""}},{"id":-1,"index":10,"parentId":4,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"paras":[{"nodeType":1,"contentType":0,"relative":true,"name":"参数1_链接文本","desc":"","extractType":0,"relativeXPath":"","allXPaths":"","exampleValues":[{"num":0,"value":"数码"}],"unique_index":"7ozwfteuj7nljoxx7ne","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":2,"contentType":0,"relative":true,"name":"参数2_链接地址","desc":"","relativeXPath":"","allXPaths":"","exampleValues":[{"num":0,"value":"https://shuma.jd.com/"}],"unique_index":"7ozwfteuj7nljoxx7ne","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0}],"loopType":2}},{"id":-1,"index":11,"parentId":2,"type":2,"option":9,"title":"判断条件","sequence":[12,13],"isInLoop":true,"position":0,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":false,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0}},{"id":-1,"parentId":3,"index":12,"type":3,"option":10,"title":"条件分支","sequence":[10],"isInLoop":true,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"class":"1","value":"京东","code":"return arguments[0].innerText.length < 3","waitTime":0},"position":0},{"id":-1,"parentId":3,"index":13,"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,"class":0,"value":"","code":"","waitTime":0},"position":1},{"id":2,"index":14,"parentId":0,"type":1,"option":8,"title":"循环","sequence":[15,16,17],"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":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"loopType":1,"pathList":"","textList":"","code":"","waitTime":0,"exitCount":0,"historyWait":2,"breakMode":0,"breakCode":"","breakCodeWaitTime":0,"allXPaths":["/html/body/div[5]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/a[1]","//a[contains(., '手机')]","/html/body/div[last()-5]/div/div[last()-4]/div/div[last()-2]/div/div/div/div[last()-1]/div[last()-12]/a[last()-1]"]}},{"id":3,"index":15,"parentId":2,"type":0,"option":3,"title":"提取数据","sequence":[],"isInLoop":true,"position":0,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"paras":[{"nodeType":1,"contentType":0,"relative":true,"name":"参数1_链接文本","desc":"","extractType":0,"relativeXPath":"","allXPaths":"","exampleValues":[{"num":0,"value":"手机"}],"unique_index":"8rrms8dqpmjljozhosi","iframe":true,"default":"","beforeJS":"arguments[0].innerText = arguments[0].innerText.replace(\"家\", \"Home\")","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0},{"nodeType":2,"contentType":0,"relative":true,"name":"参数2_链接地址","desc":"","relativeXPath":"","allXPaths":"","exampleValues":[{"num":0,"value":"https://shouji.jd.com/"}],"unique_index":"8rrms8dqpmjljozhosi","iframe":true,"default":"","beforeJS":"","beforeJSWaitTime":0,"JS":"","JSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"downloadPic":0}],"loopType":1}},{"id":4,"index":16,"parentId":2,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":true,"position":1,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"codeMode":"2","code":"return arguments[0].innerText.length","waitTime":0,"recordASField":"1"}},{"id":5,"index":17,"parentId":2,"type":0,"option":5,"title":"自定义操作2","sequence":[],"isInLoop":true,"position":2,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","iframe":true,"wait":0,"waitType":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"codeMode":0,"code":"return \"Field[\"参数1_链接文本\"] + Field[\"参数2_链接地址\"] + Field[\"参数1_链接文本\"]\"","waitTime":0,"recordASField":"1"}}]} \ No newline at end of file diff --git a/ExecuteStage/.vscode/launch.json b/ExecuteStage/.vscode/launch.json index e1fd236..2da5fd3 100644 --- a/ExecuteStage/.vscode/launch.json +++ b/ExecuteStage/.vscode/launch.json @@ -10,7 +10,7 @@ "program": "${file}", "console": "integratedTerminal", "justMyCode": true, - "args": ["--id", "[38]", "--read_type", "remote", "--headless", "0"] + "args": ["--id", "[95]", "--read_type", "remote", "--headless", "0"] // "args": ["--id", "[2]", "--read_type", "remote", "--headless", "0", "--saved_file_name", "YOUTUBE"] // "args": ["--id", "[44]", "--headless", "0", "--user_data", "1"] } diff --git a/ExecuteStage/easyspider_executestage.py b/ExecuteStage/easyspider_executestage.py index a3b95fe..87515f5 100644 --- a/ExecuteStage/easyspider_executestage.py +++ b/ExecuteStage/easyspider_executestage.py @@ -89,7 +89,6 @@ class BrowserThread(Thread): filter(isnull, service["links"].split("\n"))) # 要执行的link的列表 self.OUTPUT = [] # 采集的数据 self.containJudge = service["containJudge"] # 是否含有判断语句 - self.bodyText = "" # 记录bodyText tOut = service["outputParameters"] # 生成输出参数对象 self.outputParameters = {} self.dataNotFoundKeys = {} # 记录没有找到数据的key @@ -123,10 +122,6 @@ class BrowserThread(Thread): except: para["iframe"] = False if para["beforeJS"] == "" and para["afterJS"] == "" and para["contentType"] <= 1 and para["nodeType"] <= 2: - # # iframe中提取数据的绝对寻址操作不可优化 - # if para["relative"] == False and para["iframe"] == True: - # para["optimizable"] = False - # else: para["optimizable"] = True else: para["optimizable"] = False @@ -206,7 +201,7 @@ class BrowserThread(Thread): if rt != "": rt.end() - def execute_code(self, codeMode, code, max_wait_time, element=None): + def execute_code(self, codeMode, code, max_wait_time, element=None, iframe=False): output = "" if code == "": return "" @@ -221,6 +216,24 @@ class BrowserThread(Thread): except: replaced_text = code code = replaced_text + if iframe and self.browser.iframe_env == False: + # 获取所有的 iframe + self.browser.switch_to.default_content() + iframes = self.browser.find_elements( + By.CSS_SELECTOR, "iframe", iframe=False) + # 遍历所有的 iframe 并点击里面的元素 + for iframe in iframes: + # 切换到 iframe + try: + self.browser.switch_to.default_content() + self.browser.switch_to.frame(iframe) + self.browser.iframe_env = True + break + except: + print("Iframe switch failed") + elif not iframe and self.browser.iframe_env == True: + self.browser.switch_to.default_content() + self.browser.iframe_env = False if int(codeMode) == 0: self.recordLog("Execute JavaScript:" + code) self.recordLog("执行JavaScript:" + code) @@ -271,12 +284,13 @@ class BrowserThread(Thread): By.XPATH, loopPath, iframe=paras["iframe"]) element = elements[index] output = self.execute_code( - codeMode, code, max_wait_time, element) + codeMode, code, max_wait_time, element, iframe=paras["iframe"]) except: output = "" print("JavaScript execution failed") else: - output = self.execute_code(codeMode, code, max_wait_time) + output = self.execute_code( + codeMode, code, max_wait_time, iframe=paras["iframe"]) recordASField = int(paras["recordASField"]) if recordASField: self.outputParameters[node["title"]] = output @@ -321,9 +335,12 @@ class BrowserThread(Thread): time.sleep(0.1) # 移动之前等待0.1秒 if para["useLoop"]: # 使用循环的情况下,传入的clickPath就是实际的xpath path = loopPath + # element = loopElement else: index = 0 path = para["xpath"] # 不然使用元素定义的xpath + # element = self.browser.find_element( + # By.XPATH, path, iframe=para["iframe"]) try: elements = self.browser.find_elements( By.XPATH, path, iframe=para["iframe"]) @@ -405,7 +422,9 @@ class BrowserThread(Thread): break elif tType == 1: # 当前页面包含文本 try: - if self.bodyText.find(cnode["parameters"]["value"]) >= 0: + bodyText = self.browser.find_element( + By.CSS_SELECTOR, "body", iframe=cnode["parameters"]["iframe"]).text + if bodyText.find(cnode["parameters"]["value"]) >= 0: executeBranchId = i break except: # 找不到元素下一个条件 @@ -426,7 +445,7 @@ class BrowserThread(Thread): continue elif tType == 4: # 当前循环元素包括元素 try: - if loopElement.find_element(By.XPATH, cnode["parameters"]["value"][1:], iframe=cnode["parameters"]["iframe"]): + if loopElement.find_element(By.XPATH, cnode["parameters"]["value"][1:]): executeBranchId = i break except: # 找不到元素或者xpath写错了,下一个条件 @@ -434,13 +453,13 @@ class BrowserThread(Thread): elif tType <= 7: # JS命令返回值 if tType == 5: # JS命令返回值等于 output = self.execute_code( - 0, cnode["parameters"]["code"], cnode["parameters"]["waitTime"]) + 0, cnode["parameters"]["code"], cnode["parameters"]["waitTime"], iframe=cnode["parameters"]["iframe"]) elif tType == 6: # System output = self.execute_code( - 1, cnode["parameters"]["code"], cnode["parameters"]["waitTime"]) + 1, cnode["parameters"]["code"], cnode["parameters"]["waitTime"], iframe=cnode["parameters"]["iframe"]) elif tType == 7: # 针对当前循环项的JS命令返回值 output = self.execute_code( - 2, cnode["parameters"]["code"], cnode["parameters"]["waitTime"], loopElement) + 2, cnode["parameters"]["code"], cnode["parameters"]["waitTime"], loopElement, iframe=cnode["parameters"]["iframe"]) try: if output.find("rue") != -1: # 如果返回值中包含true code = 1 @@ -512,7 +531,7 @@ class BrowserThread(Thread): break if int(node["parameters"]["breakMode"]) > 0: # 如果设置了退出循环的脚本条件 output = self.execute_code(int( - node["parameters"]["breakMode"]) - 1, node["parameters"]["breakCode"], node["parameters"]["breakCodeWaitTime"]) + node["parameters"]["breakMode"]) - 1, node["parameters"]["breakCode"], node["parameters"]["breakCodeWaitTime"], iframe=node["parameters"]["iframe"]) code = get_output_code(output) if code <= 0: break @@ -547,13 +566,13 @@ class BrowserThread(Thread): time.sleep(node["parameters"]["historyWait"]) # else: # time.sleep(2) - # 切换历史记录等待2秒或者: + # 切换历史记录等待: self.Log("Change history back time or:", node["parameters"]["historyWait"]) self.browser.execute_script('window.stop()') if int(node["parameters"]["breakMode"]) > 0: # 如果设置了退出循环的脚本条件 output = self.execute_code(int( - node["parameters"]["breakMode"]) - 1, node["parameters"]["breakCode"], node["parameters"]["breakCodeWaitTime"]) + node["parameters"]["breakMode"]) - 1, node["parameters"]["breakCode"], node["parameters"]["breakCodeWaitTime"], iframe=node["parameters"]["iframe"]) code = get_output_code(output) if code <= 0: break @@ -600,7 +619,7 @@ class BrowserThread(Thread): raise if int(node["parameters"]["breakMode"]) > 0: # 如果设置了退出循环的脚本条件 output = self.execute_code(int( - node["parameters"]["breakMode"]) - 1, node["parameters"]["breakCode"], node["parameters"]["breakCodeWaitTime"]) + node["parameters"]["breakMode"]) - 1, node["parameters"]["breakCode"], node["parameters"]["breakCodeWaitTime"], iframe=node["parameters"]["iframe"]) code = get_output_code(output) if code <= 0: break @@ -612,7 +631,7 @@ class BrowserThread(Thread): self.executeNode(i, text, "", 0) if int(node["parameters"]["breakMode"]) > 0: # 如果设置了退出循环的脚本条件 output = self.execute_code(int( - node["parameters"]["breakMode"]) - 1, node["parameters"]["breakCode"], node["parameters"]["breakCodeWaitTime"]) + node["parameters"]["breakMode"]) - 1, node["parameters"]["breakCode"], node["parameters"]["breakCodeWaitTime"], iframe=node["parameters"]["iframe"]) code = get_output_code(output) if code <= 0: break @@ -630,7 +649,7 @@ class BrowserThread(Thread): self.executeNode(i, url, "", 0) if int(node["parameters"]["breakMode"]) > 0: # 如果设置了退出循环的脚本条件 output = self.execute_code(int( - node["parameters"]["breakMode"]) - 1, node["parameters"]["breakCode"], node["parameters"]["breakCodeWaitTime"]) + node["parameters"]["breakMode"]) - 1, node["parameters"]["breakCode"], node["parameters"]["breakCodeWaitTime"], iframe=node["parameters"]["iframe"]) code = get_output_code(output) if code <= 0: break @@ -638,10 +657,10 @@ class BrowserThread(Thread): while True: # do while循环 if int(node["parameters"]["loopType"]) == 5: # JS output = self.execute_code( - 0, node["parameters"]["code"], node["parameters"]["waitTime"]) + 0, node["parameters"]["code"], node["parameters"]["waitTime"], iframe=node["parameters"]["iframe"]) elif int(node["parameters"]["loopType"]) == 6: # System output = self.execute_code( - 1, node["parameters"]["code"], node["parameters"]["waitTime"]) + 1, node["parameters"]["code"], node["parameters"]["waitTime"], iframe=node["parameters"]["iframe"]) code = get_output_code(output) if code <= 0: break @@ -707,29 +726,8 @@ class BrowserThread(Thread): except: self.history["index"] = 0 self.scrollDown(para) # 控制屏幕向下滚动 - if self.containJudge: - try: - self.bodyText = self.browser.find_element( - By.CSS_SELECTOR, "body", iframe=False).text - self.Log('URL Page: ' + url) - self.recordLog('URL Page: ' + url) - except TimeoutException: - self.Log( - 'Time out after set seconds when getting body text: ' + url) - self.recordLog( - 'Time out after set seconds when getting body text:: ' + url) - self.browser.execute_script('window.stop()') - time.sleep(1) - self.Log("Need to wait 1 second to get body text") - # 再执行一遍 - self.bodyText = self.browser.find_element( - By.CSS_SELECTOR, "body", iframe=False).text - except Exception as e: - self.Log(e) - self.recordLog(str(e)) # 键盘输入事件 - def inputInfo(self, para, loopValue): time.sleep(0.1) # 输入之前等待0.1秒 self.Log("Wait 0.1 second before input") @@ -739,7 +737,7 @@ class BrowserThread(Thread): # textbox.send_keys(Keys.CONTROL, 'a') # textbox.send_keys(Keys.BACKSPACE) self.execute_code( - 2, para["beforeJS"], para["beforeJSWaitTime"], textbox) # 执行前置JS + 2, para["beforeJS"], para["beforeJSWaitTime"], textbox, iframe=para["iframe"]) # 执行前置JS # Send the HOME key textbox.send_keys(Keys.HOME) # Send the SHIFT + END key combination @@ -764,10 +762,7 @@ class BrowserThread(Thread): if value.lower().find("") >= 0: textbox.send_keys(Keys.ENTER) self.execute_code( - 2, para["afterJS"], para["afterJSWaitTime"], textbox) # 执行后置js - # global bodyText # 每次执行点击,输入元素和打开网页操作后,需要更新bodyText - self.bodyText = self.browser.find_element( - By.CSS_SELECTOR, "body").text + 2, para["afterJS"], para["afterJSWaitTime"], textbox, iframe=para["iframe"]) # 执行后置js except: print("Cannot find input box element:" + para["xpath"] + ", please try to set the wait time before executing this operation") @@ -780,10 +775,6 @@ class BrowserThread(Thread): def clickElement(self, para, loopElement=None, clickPath="", index=0): time.sleep(0.1) # 点击之前等待0.1秒 self.Log("Wait 0.1 second before clicking element") - if para["useLoop"]: # 使用循环的情况下,传入的clickPath就是实际的xpath - path = clickPath - else: - path = para["xpath"] # 不然使用元素定义的xpath try: maxWaitTime = int(para["maxWaitTime"]) except: @@ -792,11 +783,22 @@ class BrowserThread(Thread): self.browser.set_script_timeout(maxWaitTime) # 点击前对该元素执行一段JavaScript代码 try: - element = self.browser.find_element( + # element = self.browser.find_element( + # By.XPATH, path, iframe=para["iframe"]) + if para["useLoop"]: # 使用循环的情况下,传入的clickPath就是实际的xpath + path = clickPath + # element = loopElement + else: + index = 0 + path = para["xpath"] # 不然使用元素定义的xpath + # element = self.browser.find_element( + # By.XPATH, path, iframe=para["iframe"]) + elements = self.browser.find_elements( By.XPATH, path, iframe=para["iframe"]) + element = elements[index] if para["beforeJS"] != "": self.execute_code(2, para["beforeJS"], - para["beforeJSWaitTime"], element) + para["beforeJSWaitTime"], element, iframe=para["iframe"]) except: print("Cannot find element:" + path + ", please try to set the wait time before executing this operation") @@ -809,7 +811,7 @@ class BrowserThread(Thread): except: click_way = 0 try: - if click_way == 0 or para["iframe"]: # 用selenium的点击方法 + if click_way == 0: # 用selenium的点击方法 actions = ActionChains(self.browser) # 实例化一个action对象 actions.click(element).perform() elif click_way == 1: # 用js的点击方法 @@ -824,13 +826,13 @@ class BrowserThread(Thread): except Exception as e: self.Log(e) self.recordLog(str(e)) - # 点击前对该元素执行一段JavaScript代码 + # 点击后对该元素执行一段JavaScript代码 try: if para["afterJS"] != "": element = self.browser.find_element( By.XPATH, path, iframe=para["iframe"]) self.execute_code(2, para["afterJS"], - para["afterJSWaitTime"], element) + para["afterJSWaitTime"], element, iframe=para["iframe"]) except: print("Cannot find element:" + path) self.recordLog("Cannot find element:" + @@ -866,25 +868,6 @@ class BrowserThread(Thread): "return history.length") # 如果打开了新窗口,切换到新窗口 self.scrollDown(para) # 根据参数配置向下滚动 - if self.containJudge: # 有判断语句才执行以下操作 - # global bodyText # 每次执行点击,输入元素和打开网页操作后,需要更新bodyText - try: - self.bodyText = self.browser.find_element( - By.CSS_SELECTOR, "body").text - except TimeoutException: - self.Log('Time out after 10 seconds when getting body text') - self.recordLog( - 'Time out after 10 seconds when getting body text') - self.browser.execute_script('window.stop()') - time.sleep(1) - self.Log("wait one second after get body text") - # 再执行一遍 - self.bodyText = self.browser.find_element( - By.CSS_SELECTOR, "body").text - # rt.end() - except Exception as e: - self.Log(e) - self.recordLog(str(e)) # rt.end() def get_content(self, p, element): @@ -1000,7 +983,8 @@ class BrowserThread(Thread): print(e) print("注意以上错误,要使用OCR识别功能,你需要安装Tesseract-OCR并将其添加到环境变量PATH中(添加后需重启EasySpider):https://blog.csdn.net/u010454030/article/details/80515501\nhttps://www.bilibili.com/video/BV1xz4y1b72D/") elif p["contentType"] == 9: - content = self.execute_code(2, p["JS"], p["JSWaitTime"], element) + content = self.execute_code( + 2, p["JS"], p["JSWaitTime"], element, iframe=p["iframe"]) elif p["contentType"] == 10: # 下拉框选中的值 try: select_element = Select(element) @@ -1020,9 +1004,19 @@ class BrowserThread(Thread): def getData(self, para, loopElement, isInLoop=True, parentPath="", index=0): pageHTML = etree.HTML(self.browser.page_source) - try: - loopElementOuterHTML = loopElement.get_attribute('outerHTML') - except: + if loopElement != "": # 只在数据在循环中提取时才需要获取循环元素 + try: + loopElementOuterHTML = loopElement.get_attribute('outerHTML') + except: + try: # 循环点击每个链接如果没有新标签页打开,loopElement会丢失,此时需要重新获取 + elements = self.browser.find_elements( + By.XPATH, parentPath, iframe=para["paras"][0]["iframe"]) + loopElement = elements[index] + loopElementOuterHTML = loopElement.get_attribute( + 'outerHTML') + except: + loopElementOuterHTML = "" + else: loopElementOuterHTML = "" loopElementHTML = etree.HTML(loopElementOuterHTML) for p in para["paras"]: @@ -1053,7 +1047,7 @@ class BrowserThread(Thread): content = loopElementHTML.xpath( "/html/body/" + loopElementHTML[0][0].tag + xpath) else: - if xpath.find("/html/body") < 0: + if xpath.find("/body") < 0: xpath = "/html/body" + xpath content = pageHTML.xpath(xpath) if len(content) > 0: @@ -1145,7 +1139,7 @@ class BrowserThread(Thread): By.XPATH, "//body", iframe=p["iframe"]) try: self.execute_code( - 2, p["beforeJS"], p["beforeJSWaitTime"], element) # 执行前置js + 2, p["beforeJS"], p["beforeJSWaitTime"], element, iframe=p["iframe"]) # 执行前置js content = self.get_content(p, element) except StaleElementReferenceException: # 发生找不到元素的异常后,等待几秒重新查找 self.recordLog( @@ -1174,7 +1168,7 @@ class BrowserThread(Thread): continue # 再出现类似问题直接跳过 self.outputParameters[p["name"]] = content self.execute_code( - 2, p["afterJS"], p["afterJSWaitTime"], element) # 执行后置JS + 2, p["afterJS"], p["afterJSWaitTime"], element, iframe=p["iframe"]) # 执行后置JS line = [] for value in self.outputParameters.values(): line.append(value) diff --git a/ExecuteStage/myChrome.py b/ExecuteStage/myChrome.py index 7a7331e..d4a1ab9 100644 --- a/ExecuteStage/myChrome.py +++ b/ExecuteStage/myChrome.py @@ -25,10 +25,10 @@ class MyChrome(webdriver.Chrome): super().__init__(*args, **kwargs) # 调用父类的 __init__ def find_element(self, by=By.ID, value=None, iframe=False): + # 在这里改变查找元素的行为 if self.iframe_env: super().switch_to.default_content() self.iframe_env = False - # 在这里改变查找元素的行为 if iframe: # 获取所有的 iframe try: @@ -47,7 +47,7 @@ class MyChrome(webdriver.Chrome): # 在这个例子中,我们查找 XPath 为 '//div[1]' 的元素 element = super().find_element(by=by, value=value) find_element = True - except NoSuchElementException: + except: print("No such element found in the iframe") # 完成操作后切回主文档 # super().switch_to.default_content() @@ -59,10 +59,10 @@ class MyChrome(webdriver.Chrome): return super().find_element(by=by, value=value) def find_elements(self, by=By.ID, value=None, iframe=False): + # 在这里改变查找元素的行为 if self.iframe_env: super().switch_to.default_content() self.iframe_env = False - # 在这里改变查找元素的行为 if iframe: # 获取所有的 iframe iframes = super().find_elements(By.CSS_SELECTOR, "iframe") @@ -70,18 +70,21 @@ class MyChrome(webdriver.Chrome): # 遍历所有的 iframe 并点击里面的元素 for iframe in iframes: # 切换到 iframe - super().switch_to.default_content() - super().switch_to.frame(iframe) - self.iframe_env = True - # 在 iframe 中查找并点击元素 - # 在这个例子中,我们查找 XPath 为 '//div[1]' 的元素 - elements = super().find_elements(by=by, value=value) - if len(elements) > 0: - find_element = True - # 完成操作后切回主文档 - # super().switch_to.default_content() - if find_element: - return elements + try: + super().switch_to.default_content() + super().switch_to.frame(iframe) + self.iframe_env = True + # 在 iframe 中查找并点击元素 + # 在这个例子中,我们查找 XPath 为 '//div[1]' 的元素 + elements = super().find_elements(by=by, value=value) + if len(elements) > 0: + find_element = True + # 完成操作后切回主文档 + # super().switch_to.default_content() + if find_element: + return elements + except: + print("No such element found in the iframe") if not find_element: raise NoSuchElementException else: