自动更新版本脚本,自动打包chrome和chromedriver脚本

This commit is contained in:
naibo 2023-07-01 03:37:53 +08:00
parent df9545b62b
commit b6123bad5b
52 changed files with 396 additions and 231 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
{"id":16,"name":"锦江航运","url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","create_time":"6/27/2023, 2:47:58 PM","version":"0.3.2","containJudge":false,"desc":"https://ejj.jjshipping.cn/home","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://ejj.jjshipping.cn/home","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"https://ejj.jjshipping.cn/home"}],"outputParameters":[],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2,3],"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0},"isInLoop":false},{"id":1,"index":1,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":0,"parameters":{"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1}},{"id":2,"index":2,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"codeMode":0,"code":"$x('//*[@id=\"startportcod\"]')[0].value = \"CHSHA\";\n$x('//*[@id=\"endportcod\"]')[0].value = \"JPTYO\";","waitTime":0,"recordASField":0}},{"id":3,"index":3,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":2,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"queryfee\"]","wait":2,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[4]/div[1]/div[1]/div[2]/a[1]","//a[contains(., '查询运费')]","id(\"queryfee\")","//A[@class='btn btn-search']"]}}]}

View File

@ -1 +0,0 @@
{"id":17,"name":"锦江航运","url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","create_time":"6/27/2023, 2:48:33 PM","version":"0.3.2","containJudge":false,"desc":"https://ejj.jjshipping.cn/home","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://ejj.jjshipping.cn/home","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"https://ejj.jjshipping.cn/home"}],"outputParameters":[],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2,3],"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0},"isInLoop":false},{"id":1,"index":1,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":0,"parameters":{"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1}},{"id":2,"index":2,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"codeMode":0,"code":"$x('//*[@id=\"startportcod\"]')[0].value = \"CHSHA\";\n$x('//*[@id=\"endportcod\"]')[0].value = \"JPTYO\";","waitTime":0,"recordASField":0}},{"id":3,"index":3,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":2,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"queryfee\"]","wait":20,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[4]/div[1]/div[1]/div[2]/a[1]","//a[contains(., '查询运费')]","id(\"queryfee\")","//A[@class='btn btn-search']"]}}]}

View File

@ -1 +0,0 @@
{"id":18,"name":"锦江航运","url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","create_time":"6/27/2023, 2:48:33 PM","version":"0.3.2","containJudge":false,"desc":"https://ejj.jjshipping.cn/home","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://ejj.jjshipping.cn/home","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"https://ejj.jjshipping.cn/home"}],"outputParameters":[],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2,3],"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0},"isInLoop":false},{"id":1,"index":1,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":0,"parameters":{"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1}},{"id":2,"index":2,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"codeMode":0,"code":"$x('//*[@id=\"startportcod\"]')[0].value = \"CHSHA\";\n$x('//*[@id=\"endportcod\"]')[0].value = \"JPTYO\";","waitTime":0,"recordASField":0}},{"id":3,"index":3,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":2,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"queryfee\"]","wait":20,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[4]/div[1]/div[1]/div[2]/a[1]","//a[contains(., '查询运费')]","id(\"queryfee\")","//A[@class='btn btn-search']"]}}]}

View File

@ -1 +0,0 @@
{"id":19,"name":"锦江航运","url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","create_time":"6/27/2023, 2:50:30 PM","version":"0.3.2","containJudge":false,"desc":"https://ejj.jjshipping.cn/home","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://ejj.jjshipping.cn/home","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"https://ejj.jjshipping.cn/home"}],"outputParameters":[],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2,3],"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,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1}},{"id":2,"index":2,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":4,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"codeMode":0,"code":"$x('//*[@id=\"startportcod\"]')[0].value = \"CHSHA\";\n$x('//*[@id=\"endportcod\"]')[0].value = \"JPTYO\";","waitTime":0,"recordASField":0}},{"id":3,"index":3,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":2,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"queryfee\"]","wait":20,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[4]/div[1]/div[1]/div[2]/a[1]","//a[contains(., '查询运费')]","id(\"queryfee\")","//A[@class='btn btn-search']"]}}]}

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
{"id":20,"name":"锦江航运","url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","create_time":"6/27/2023, 2:51:31 PM","version":"0.3.2","containJudge":false,"desc":"https://ejj.jjshipping.cn/home","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://ejj.jjshipping.cn/home","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"https://ejj.jjshipping.cn/home"}],"outputParameters":[],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2,3],"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":10,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1}},{"id":2,"index":2,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":4,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"codeMode":0,"code":"$x('//*[@id=\"startportcod\"]')[0].value = \"CHSHA\";\n$x('//*[@id=\"endportcod\"]')[0].value = \"JPTYO\";","waitTime":0,"recordASField":0}},{"id":3,"index":3,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":2,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"queryfee\"]","wait":20,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[4]/div[1]/div[1]/div[2]/a[1]","//a[contains(., '查询运费')]","id(\"queryfee\")","//A[@class='btn btn-search']"]}}]}

View File

@ -1 +0,0 @@
{"id":21,"name":"锦江航运","url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","create_time":"6/27/2023, 2:52:37 PM","version":"0.3.2","containJudge":false,"desc":"https://ejj.jjshipping.cn/home","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://ejj.jjshipping.cn/home","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"https://ejj.jjshipping.cn/home"}],"outputParameters":[],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2,4,3],"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":10,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1}},{"id":2,"index":2,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":4,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"codeMode":0,"code":"$x('//*[@id=\"startportcod\"]')[0].value = \"CHSHA\"","waitTime":0,"recordASField":0}},{"id":4,"index":3,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":3,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"queryfee\"]","wait":20,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[4]/div[1]/div[1]/div[2]/a[1]","//a[contains(., '查询运费')]","id(\"queryfee\")","//A[@class='btn btn-search']"]}},{"id":3,"index":4,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":2,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"codeMode":0,"code":"$x('//*[@id=\"endportcod\"]')[0].value = \"JPTYO\"","waitTime":0,"recordASField":0}}]}

View File

@ -1 +0,0 @@
{"id":22,"name":"锦江航运","url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","create_time":"6/27/2023, 2:54:21 PM","version":"0.3.2","containJudge":false,"desc":"https://ejj.jjshipping.cn/home","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://ejj.jjshipping.cn/home","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"https://ejj.jjshipping.cn/home"}],"outputParameters":[],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2,4,3],"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":10,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1}},{"id":2,"index":2,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":4,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"codeMode":0,"code":"document.querySelector(\"#startportcod\").value = \"CHSHA\"","waitTime":0,"recordASField":0}},{"id":4,"index":3,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":3,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"queryfee\"]","wait":20,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[4]/div[1]/div[1]/div[2]/a[1]","//a[contains(., '查询运费')]","id(\"queryfee\")","//A[@class='btn btn-search']"]}},{"id":3,"index":4,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":2,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"codeMode":0,"code":"document.querySelector(\"#endportcod\").value = \"JPTYO\"","waitTime":0,"recordASField":0}}]}

View File

@ -1 +0,0 @@
{"id":23,"name":"锦江航运","url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","create_time":"6/27/2023, 2:54:21 PM","version":"0.3.2","containJudge":false,"desc":"https://ejj.jjshipping.cn/home","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://ejj.jjshipping.cn/home","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"https://ejj.jjshipping.cn/home"}],"outputParameters":[],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2,4,3],"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":10,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1}},{"id":2,"index":2,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":4,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"codeMode":0,"code":"document.querySelector(\"#startportcod\").value = \"CHSHA\"","waitTime":0,"recordASField":0}},{"id":4,"index":3,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":3,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"queryfee\"]","wait":20,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[4]/div[1]/div[1]/div[2]/a[1]","//a[contains(., '查询运费')]","id(\"queryfee\")","//A[@class='btn btn-search']"]}},{"id":3,"index":4,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":2,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"codeMode":0,"code":"document.querySelector(\"#endportcod\").value = \"JPTYO\"","waitTime":0,"recordASField":0}}]}

View File

@ -1 +0,0 @@
{"id":24,"name":"锦江航运","url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","create_time":"6/27/2023, 2:54:21 PM","version":"0.3.2","containJudge":false,"desc":"https://ejj.jjshipping.cn/home","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://ejj.jjshipping.cn/home","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"https://ejj.jjshipping.cn/home"}],"outputParameters":[],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2,4,3],"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":10,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1}},{"id":2,"index":2,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":4,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"codeMode":0,"code":"document.querySelector(\"#startportcod\").value = \"CHSHA\"","waitTime":0,"recordASField":0}},{"id":4,"index":3,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":3,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"queryfee\"]","wait":20,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[4]/div[1]/div[1]/div[2]/a[1]","//a[contains(., '查询运费')]","id(\"queryfee\")","//A[@class='btn btn-search']"]}},{"id":3,"index":4,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":2,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"codeMode":0,"code":"document.querySelector(\"#endportcod\").value = \"JPTYO\"","waitTime":0,"recordASField":0}}]}

View File

@ -1 +0,0 @@
{"id":25,"name":"锦江航运","url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","create_time":"6/27/2023, 2:56:08 PM","version":"0.3.2","containJudge":false,"desc":"https://ejj.jjshipping.cn/home","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://ejj.jjshipping.cn/home","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"https://ejj.jjshipping.cn/home"}],"outputParameters":[],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2,4,3],"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":15,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1}},{"id":2,"index":2,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":4,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"codeMode":0,"code":"document.querySelector(\"#startportcod\").value = \"CHSHA\"","waitTime":0,"recordASField":0}},{"id":4,"index":3,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":3,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"queryfee\"]","wait":20,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[4]/div[1]/div[1]/div[2]/a[1]","//a[contains(., '查询运费')]","id(\"queryfee\")","//A[@class='btn btn-search']"]}},{"id":3,"index":4,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":2,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"codeMode":0,"code":"document.querySelector(\"#endportcod\").value = \"JPTYO\"","waitTime":0,"recordASField":0}}]}

View File

@ -1 +0,0 @@
{"id":26,"name":"锦江航运","url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","create_time":"6/27/2023, 2:58:15 PM","version":"0.3.2","containJudge":false,"desc":"https://ejj.jjshipping.cn/home","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://ejj.jjshipping.cn/home","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"https://ejj.jjshipping.cn/home"}],"outputParameters":[],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,2,3],"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":10,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1}},{"id":2,"index":2,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":4,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"codeMode":0,"code":"document.querySelector(\"#startportcod\").value = \"CNSHA\";\ndocument.querySelector(\"#endportcod\").value = \"JPTYO\";","waitTime":0,"recordASField":0}},{"id":3,"index":3,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":2,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"queryfee\"]","wait":20,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[4]/div[1]/div[1]/div[2]/a[1]","//a[contains(., '查询运费')]","id(\"queryfee\")","//A[@class='btn btn-search']"]}},{"id":-1,"index":4,"parentId":0,"type":0,"option":5,"title":"自定义操作","sequence":[],"isInLoop":false,"position":2,"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"codeMode":0,"code":"","waitTime":0,"recordASField":0}}]}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
{"id":3,"name":"Artificial Intelligence authors/titles recent submissions","url":"https://arxiv.org/list/cs.AI/recent","links":"https://arxiv.org/list/cs.AI/recent","create_time":"6/27/2023, 2:39:57 AM","version":"0.3.2","containJudge":false,"desc":"https://arxiv.org/list/cs.AI/recent","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://arxiv.org/list/cs.AI/recent","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"https://arxiv.org/list/cs.AI/recent"}],"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,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"https://arxiv.org/list/cs.AI/recent","links":"https://arxiv.org/list/cs.AI/recent","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[4]/div[1]/dl[1]/dt/span[1]/a[2]","wait":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[4]/div[1]/dl[1]/dt/span[1]/a[2]","wait":2,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"maxWaitTime":10,"paras":[],"allXPaths":"","loopType":1}}]}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
{"id":4,"name":"锦江航运","url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","create_time":"6/27/2023, 1:15:48 PM","version":"0.3.2","containJudge":false,"desc":"https://ejj.jjshipping.cn/home","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://ejj.jjshipping.cn/home","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"https://ejj.jjshipping.cn/home"}],"outputParameters":[],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,3],"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0},"isInLoop":false},{"id":1,"index":1,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":0,"parameters":{"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1}},{"id":-1,"index":2,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"select-wrap\")]/label[1]/div[1]","wait":2,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[4]/div[1]/div[1]/label[1]/div[1]","//div[contains(., '')]","//DIV[@class='selectedrow']"]}},{"id":2,"index":3,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"ui-id-76\"]","wait":2,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/ul[1]/li[5]/span[1]","//span[contains(., 'CNWEI威海')]","id(\"ui-id-76\")","//SPAN[@class='ui-menu-item-wrapper']"]}}]}

View File

@ -1 +0,0 @@
{"id":5,"name":"锦江航运","url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","create_time":"6/27/2023, 1:16:57 PM","version":"0.3.2","containJudge":false,"desc":"https://ejj.jjshipping.cn/home","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://ejj.jjshipping.cn/home","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"https://ejj.jjshipping.cn/home"}],"outputParameters":[],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,4,3],"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0},"isInLoop":false},{"id":1,"index":1,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":0,"parameters":{"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1}},{"id":-1,"index":2,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"select-wrap\")]/label[1]/div[1]","wait":2,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[4]/div[1]/div[1]/label[1]/div[1]","//div[contains(., '')]","//DIV[@class='selectedrow']"]}},{"id":3,"index":3,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":2,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[@id=\"ui-id-76\"]","wait":2,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/ul[1]/li[5]/span[1]","//span[contains(., 'CNWEI威海')]","id(\"ui-id-76\")","//SPAN[@class='ui-menu-item-wrapper']"]}},{"id":2,"index":4,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":3,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"select-wrap\")]/label[1]/div[1]","wait":2,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[4]/div[1]/div[1]/label[1]/div[1]","//div[contains(., '')]","//DIV[@class='selectedrow']"]}}]}

View File

@ -1 +0,0 @@
{"id":6,"name":"锦江航运","url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","create_time":"6/27/2023, 1:18:09 PM","version":"0.3.2","containJudge":false,"desc":"https://ejj.jjshipping.cn/home","inputParameters":[{"id":0,"name":"urlList_0","nodeId":1,"nodeName":"打开网页","value":"https://ejj.jjshipping.cn/home","desc":"要采集的网址列表,多行以\\n分开","type":"string","exampleValue":"https://ejj.jjshipping.cn/home"}],"outputParameters":[],"graph":[{"index":0,"id":0,"parentId":0,"type":-1,"option":0,"title":"root","sequence":[1,4,3],"parameters":{"history":1,"tabIndex":0,"useLoop":false,"xpath":"","wait":0},"isInLoop":false},{"id":1,"index":1,"parentId":0,"type":0,"option":1,"title":"打开网页","sequence":[],"isInLoop":false,"position":0,"parameters":{"useLoop":false,"xpath":"","wait":0,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"url":"https://ejj.jjshipping.cn/home","links":"https://ejj.jjshipping.cn/home","maxWaitTime":10,"scrollType":0,"scrollCount":1,"scrollWaitTime":1}},{"id":-1,"index":2,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"select-wrap\")]/label[1]/div[1]","wait":2,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[4]/div[1]/div[1]/label[1]/div[1]","//div[contains(., '')]","//DIV[@class='selectedrow']"]}},{"id":3,"index":3,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":2,"parameters":{"history":4,"tabIndex":-1,"useLoop":false,"xpath":"//span[contains(., 'CNWEI威海')]","wait":2,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/ul[1]/li[5]/span[1]","//span[contains(., 'CNWEI威海')]","id(\"ui-id-76\")","//SPAN[@class='ui-menu-item-wrapper']"]}},{"id":2,"index":4,"parentId":0,"type":0,"option":2,"title":"点击元素","sequence":[],"isInLoop":false,"position":1,"parameters":{"history":3,"tabIndex":-1,"useLoop":false,"xpath":"//*[contains(@class, \"select-wrap\")]/label[1]/div[1]","wait":2,"beforeJS":"","beforeJSWaitTime":0,"afterJS":"","afterJSWaitTime":0,"scrollType":0,"scrollCount":1,"scrollWaitTime":1,"maxWaitTime":10,"paras":[],"allXPaths":["/html/body/div[4]/div[1]/div[1]/label[1]/div[1]","//div[contains(., '')]","//DIV[@class='selectedrow']"]}}]}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,6 @@
node_modules node_modules/
out/ out/
chromedrivers/
chrome_win32/ chrome_win32/
chrome_win64/ chrome_win64/
chrome_linux64/ chrome_linux64/

View File

@ -0,0 +1,83 @@
import json
import os
import re
import sys
# 读取JSON文件
def read_json_file(file_path):
with open(file_path, 'r', encoding='utf-8') as file:
data = json.load(file)
return data
# 保存为JSON文件
def save_json_file(data, file_path):
with open(file_path, 'w', encoding='utf-8') as file:
json.dump(data, file, indent=4, ensure_ascii=False)
def update_file_version(file_path, new_version, key="当前版本/Current Version: v"):
with open(file_path, 'r', encoding='utf-8') as file:
lines = file.readlines()
with open(file_path, 'w', encoding='utf-8') as file:
for line in lines:
if key in line:
pattern = r'('+key+')\d+\.\d+\.\d+'
line = re.sub(pattern, r'\g<1>'+new_version, line)
file.write(line)
version = "0.3.3"
# py html js
if __name__ == "__main__":
file_path = "./src/taskGrid/logic.js"
update_file_version(file_path, version, key='"version": "')
file_path = "./src/taskGrid/logic_CN.js"
update_file_version(file_path, version, key='"version": "')
file_path = "../ExecuteStage/easyspider_executestage.py"
update_file_version(file_path, version, key='"version": "')
# index.html
file_path = "./src/index.html"
update_file_version(file_path, version, key="当前版本/Current Version: v")
# package.json
file_path = "./package.json"
# 读取JSON文件
electron_config = read_json_file(file_path)
print(electron_config["version"])
# 修改数据
electron_config["version"] = version
electron_config["config"]["forge"]["packagerConfig"]["appVersion"] = version
# 保存为JSON文件
save_json_file(electron_config, file_path)
# 插件的package.json
file_path = "../Extension/manifest_v3/package.json"
# 读取JSON文件
electron_config = read_json_file(file_path)
print(electron_config["version"])
# 修改数据
electron_config["version"] = version
# 保存为JSON文件
save_json_file(electron_config, file_path)
file_path = "../Extension/manifest_v3/src/manifest.json"
# 读取JSON文件
electron_config = read_json_file(file_path)
print(electron_config["version"])
# 修改数据
electron_config["version"] = version
# 保存为JSON文件
save_json_file(electron_config, file_path)

View File

@ -1,5 +1,6 @@
move out\EasySpider-win32-ia32 out\EasySpider move out\EasySpider-win32-ia32 out\EasySpider
rmdir /s /q out\EasySpider\resources\app\chrome_win64 rmdir /s /q out\EasySpider\resources\app\chrome_win64
rmdir /s /q out\EasySpider\resources\app\chromedrivers
rmdir /s /q out\EasySpider\resources\app\Data rmdir /s /q out\EasySpider\resources\app\Data
rmdir /s /q out\EasySpider\resources\app\.idea rmdir /s /q out\EasySpider\resources\app\.idea
rmdir /s /q out\EasySpider\resources\app\tasks rmdir /s /q out\EasySpider\resources\app\tasks
@ -7,4 +8,9 @@ rmdir /s /q out\EasySpider\resources\app\execution_instances
rmdir /s /q out\EasySpider\resources\app\user_data rmdir /s /q out\EasySpider\resources\app\user_data
rmdir /s /q ..\.temp_to_pub\EasySpider_windows_x86\EasySpider rmdir /s /q ..\.temp_to_pub\EasySpider_windows_x86\EasySpider
del out\EasySpider\resources\app\vs_BuildTools.exe del out\EasySpider\resources\app\vs_BuildTools.exe
move out\EasySpider ..\.temp_to_pub\EasySpider_windows_x86\EasySpider move out\EasySpider ..\.temp_to_pub\EasySpider_windows_x86\EasySpider
rmdir /s /q ..\.temp_to_pub\EasySpider_windows_x86\user_data
rmdir /s /q ..\.temp_to_pub\EasySpider_windows_x86\execution_instances
mkdir ..\.temp_to_pub\EasySpider_windows_x86\execution_instances
rmdir /s /q ..\.temp_to_pub\EasySpider_windows_x86\Data
mkdir ..\.temp_to_pub\EasySpider_windows_x86\Data

View File

@ -1,5 +1,6 @@
move out\EasySpider-win32-x64 out\EasySpider move out\EasySpider-win32-x64 out\EasySpider
rmdir /s /q out\EasySpider\resources\app\chrome_win32 rmdir /s /q out\EasySpider\resources\app\chrome_win32
rmdir /s /q out\EasySpider\resources\app\chromedrivers
rmdir /s /q out\EasySpider\resources\app\Data rmdir /s /q out\EasySpider\resources\app\Data
rmdir /s /q out\EasySpider\resources\app\.idea rmdir /s /q out\EasySpider\resources\app\.idea
rmdir /s /q out\EasySpider\resources\app\tasks rmdir /s /q out\EasySpider\resources\app\tasks
@ -7,4 +8,9 @@ rmdir /s /q out\EasySpider\resources\app\user_data
rmdir /s /q out\EasySpider\resources\app\execution_instances rmdir /s /q out\EasySpider\resources\app\execution_instances
rmdir /s /q ..\.temp_to_pub\EasySpider_windows_x64\EasySpider rmdir /s /q ..\.temp_to_pub\EasySpider_windows_x64\EasySpider
del out\EasySpider\resources\app\vs_BuildTools.exe del out\EasySpider\resources\app\vs_BuildTools.exe
move out\EasySpider ..\.temp_to_pub\EasySpider_windows_x64\EasySpider move out\EasySpider ..\.temp_to_pub\EasySpider_windows_x64\EasySpider
rmdir /s /q ..\.temp_to_pub\EasySpider_windows_x64\user_data
rmdir /s /q ..\.temp_to_pub\EasySpider_windows_x64\execution_instances
mkdir ..\.temp_to_pub\EasySpider_windows_x64\execution_instances
rmdir /s /q ..\.temp_to_pub\EasySpider_windows_x64\Data
mkdir ..\.temp_to_pub\EasySpider_windows_x64\Data

View File

@ -1,76 +1,77 @@
{ {
"name": "easy-spider", "name": "easy-spider",
"productName": "EasySpider", "productName": "EasySpider",
"version": "0.3.3", "version": "0.3.3",
"icon": "./favicon", "icon": "./favicon",
"description": "NoCode Visual Web Crawler", "description": "NoCode Visual Web Crawler",
"main": "main.js", "main": "main.js",
"scripts": { "scripts": {
"start_direct": "electron .", "start_direct": "electron .",
"start": "electron-forge start", "change_version": "node change_version.js",
"package": "electron-forge package", "start": "electron-forge start",
"make": "electron-forge make" "package": "electron-forge package",
}, "make": "electron-forge make"
"keywords": [ },
"Electron", "keywords": [
"quick", "Electron",
"start", "quick",
"tutorial", "start",
"demo" "tutorial",
], "demo"
"author": "Naibo Wang", ],
"license": "GPL-3.0", "author": "Naibo Wang",
"devDependencies": { "license": "GPL-3.0",
"@electron-forge/cli": "^6.0.5", "devDependencies": {
"@electron-forge/maker-deb": "^6.0.5", "@electron-forge/cli": "^6.0.5",
"@electron-forge/maker-rpm": "^6.0.5", "@electron-forge/maker-deb": "^6.0.5",
"@electron-forge/maker-squirrel": "^6.0.5", "@electron-forge/maker-rpm": "^6.0.5",
"@electron-forge/maker-zip": "^6.0.5", "@electron-forge/maker-squirrel": "^6.0.5",
"electron": "^20.0.1" "@electron-forge/maker-zip": "^6.0.5",
}, "electron": "^20.0.1"
"repository": "https://github.com/NaiboWang/EasySpider", },
"dependencies": { "repository": "https://github.com/NaiboWang/EasySpider",
"electron-squirrel-startup": "^1.0.0", "dependencies": {
"http": "^0.0.1-security", "electron-squirrel-startup": "^1.0.0",
"node-window-manager": "^2.2.4", "http": "^0.0.1-security",
"selenium-webdriver": "^4.8.0", "node-window-manager": "^2.2.4",
"ws": "^8.12.0" "selenium-webdriver": "^4.8.0",
}, "ws": "^8.12.0"
"config": { },
"forge": { "config": {
"makers": [ "forge": {
{ "makers": [
"name": "@electron-forge/maker-squirrel", {
"config": { "name": "@electron-forge/maker-squirrel",
"name": "EasySpider" "config": {
} "name": "EasySpider"
}, }
{ },
"name": "@electron-forge/maker-zip", {
"platforms": [ "name": "@electron-forge/maker-zip",
"darwin" "platforms": [
] "darwin"
}, ]
{ },
"name": "@electron-forge/maker-deb" {
}, "name": "@electron-forge/maker-deb"
{ },
"name": "@electron-forge/maker-rpm" {
"name": "@electron-forge/maker-rpm"
}
],
"packagerConfig": {
"icon": "./favicon",
"appVersion": "0.3.3",
"name": "EasySpider",
"executableName": "EasySpider",
"appCopyright": "Naibo Wang (naibowang@foxmail.com)",
"win32metadata": {
"ProductName": "EasySpider",
"CompanyName": "王乃博 (浙江大学与新加坡国立大学)",
"FileDescription": "EasySpider"
}
},
"publishers": []
} }
],
"packagerConfig": {
"icon": "./favicon",
"appVersion": "0.3.3",
"name": "EasySpider",
"executableName": "EasySpider",
"appCopyright": "Naibo Wang (naibowang@foxmail.com)",
"win32metadata": {
"ProductName": "EasySpider",
"CompanyName": "王乃博 (浙江大学与新加坡国立大学)",
"FileDescription": "EasySpider"
}
},
"publishers": []
} }
} }
}

View File

@ -5,6 +5,7 @@ rm -r out
npm run package npm run package
mv out/EasySpider-linux-x64 out/EasySpider mv out/EasySpider-linux-x64 out/EasySpider
rm -r out/EasySpider/resources/app/chrome_win64 rm -r out/EasySpider/resources/app/chrome_win64
rm -r out/EasySpider/resources/app/chromedrivers
rm -r out/EasySpider/resources/app/Data rm -r out/EasySpider/resources/app/Data
rm -r out/EasySpider/resources/app/.idea rm -r out/EasySpider/resources/app/.idea
rm -r out/EasySpider/resources/app/tasks rm -r out/EasySpider/resources/app/tasks
@ -13,4 +14,10 @@ rm -r out/EasySpider/resources/app/user_data
rm -r ../.temp_to_pub/EasySpider_Linux_x64/EasySpider rm -r ../.temp_to_pub/EasySpider_Linux_x64/EasySpider
rm out/EasySpider/resources/app/vs_BuildTools.exe rm out/EasySpider/resources/app/vs_BuildTools.exe
mv out/EasySpider ../.temp_to_pub/EasySpider_Linux_x64/EasySpider mv out/EasySpider ../.temp_to_pub/EasySpider_Linux_x64/EasySpider
chmod 777 ../.temp_to_pub/EasySpider_Linux_x64/easy-spider.sh chmod 777 ../.temp_to_pub/EasySpider_Linux_x64/easy-spider.sh
rm -r ..\.temp_to_pub\EasySpider_Linux_x64\user_data
rm -r ..\.temp_to_pub\EasySpider_Linux_x64\execution_instances
mkdir ..\.temp_to_pub\EasySpider_Linux_x64\execution_instances
rm -r ..\.temp_to_pub\EasySpider_Linux_x64\Data
mkdir ..\.temp_to_pub\EasySpider_Linux_x64\Data

View File

@ -8,6 +8,7 @@ unzip out/make/zip/darwin/x64/EasySpider-darwin-x64* -d ../.temp_to_pub/EasySpid
# mv out/EasySpider-darwin-x64/EasySpider.app ../.temp_to_pub/EasySpider_MacOS_all_arch/ # mv out/EasySpider-darwin-x64/EasySpider.app ../.temp_to_pub/EasySpider_MacOS_all_arch/
rm ../.temp_to_pub/EasySpider_MacOS_all_arch/EasySpider.app/Contents/Resources/app/VS_BuildTools.exe rm ../.temp_to_pub/EasySpider_MacOS_all_arch/EasySpider.app/Contents/Resources/app/VS_BuildTools.exe
rm -r ../.temp_to_pub/EasySpider_MacOS_all_arch/EasySpider.app/Contents/Resources/app/chrome_win64 rm -r ../.temp_to_pub/EasySpider_MacOS_all_arch/EasySpider.app/Contents/Resources/app/chrome_win64
rm -r ../.temp_to_pub/EasySpider_MacOS_all_arch/EasySpider.app/Contents/Resources/app/chromedrivers
rm -r ../.temp_to_pub/EasySpider_MacOS_all_arch/EasySpider.app/Contents/Resources/app/Data rm -r ../.temp_to_pub/EasySpider_MacOS_all_arch/EasySpider.app/Contents/Resources/app/Data
rm -r ../.temp_to_pub/EasySpider_MacOS_all_arch/EasySpider.app/Contents/Resources/app/.idea rm -r ../.temp_to_pub/EasySpider_MacOS_all_arch/EasySpider.app/Contents/Resources/app/.idea
rm -r ../.temp_to_pub/EasySpider_MacOS_all_arch/EasySpider.app/Contents/Resources/app/tasks rm -r ../.temp_to_pub/EasySpider_MacOS_all_arch/EasySpider.app/Contents/Resources/app/tasks

View File

@ -0,0 +1,96 @@
import json
import os
import re
import sys
import requests
import platform
import shutil
import zipfile
import urllib.request
def download_and_extract_zip(url, destination_folder):
# 下载ZIP文件
urllib.request.urlretrieve(url, "temp.zip")
# 解压ZIP文件
with zipfile.ZipFile("temp.zip", "r") as zip_ref:
zip_ref.extractall(destination_folder)
# 删除临时ZIP文件
os.remove("temp.zip")
def copy_file(source_file, destination_file):
# 使用copy2()函数复制文件
shutil.copy2(source_file, destination_file)
def copy_folder(source_folder, destination_folder):
# 使用copytree()函数复制文件夹及其内容
shutil.copytree(source_folder, destination_folder)
update_version = "114" # 要更新的chromedriver版本
chrome_driver_url = "https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json"
win64_chrome_path = "C:\\Program Files\\Google\\Chrome\\Application"
win32_chrome_path = "C:\\Program Files (x86)\\Google\\Chrome\\Application"
mac_chrome_path = "/Applications/Google Chrome.app/Contents/MacOS"
linux_chrome_path = "/opt/google/chrome"
if __name__ == "__main__":
driver_downloads = []
response = requests.get(chrome_driver_url)
if response.status_code == 200:
versions = json.loads(response.content)["versions"]
versions = versions[::-1] # 倒序排列数组
for info in versions:
version = info["version"]
if version.find(update_version) >= 0:
downloads = info["downloads"]
if "chromedriver" in downloads:
print(info["version"])
driver_downloads = downloads["chromedriver"]
break
else:
print("Error: " + response.status_code)
exit(1)
if os.path.exists("./chromedrivers"):
shutil.rmtree("./chromedrivers")
os.mkdir("./chromedrivers")
if sys.platform == "win32" and platform.architecture()[0] == "64bit":
for download in driver_downloads:
if download["platform"] == "win64":
url = download["url"]
print(url)
break
download_and_extract_zip(url, "./chromedrivers")
if os.path.exists("./chrome_win64"):
shutil.rmtree("./chrome_win64")
copy_folder(win64_chrome_path, "./chrome_win64")
for folder in os.listdir("./chrome_win64"):
if folder[0].isdigit() and os.path.isdir("./chrome_win64/"+folder):
shutil.rmtree("./chrome_win64/"+folder+"/Installer") # 删除Installer文件夹
copy_file("./execute.bat", "./chrome_win64/execute.bat")
copy_file("./stealth.min.js", "./chrome_win64/stealth.min.js")
copy_file("./chromedrivers/chromedriver-win64/chromedriver.exe", "./chrome_win64/chromedriver_win64.exe")
elif sys.platform == "win32" and platform.architecture()[0] == "32bit":
for download in driver_downloads:
if download["platform"] == "win32":
url = download["url"]
print(url)
break
download_and_extract_zip(url, "./chromedrivers")
if os.path.exists("./chrome_win32"):
shutil.rmtree("./chrome_win32")
copy_folder(win64_chrome_path, "./chrome_win32")
for folder in os.listdir("./chrome_win32"):
if folder[0].isdigit() and os.path.isdir("./chrome_win32/"+folder):
shutil.rmtree("./chrome_win32/"+folder+"/Installer") # 删除Installer文件夹
copy_file("./execute.bat", "./chrome_win32/execute.bat")
copy_file("./stealth.min.js", "./chrome_win32/stealth.min.js")
copy_file("./chromedrivers/chromedriver-win32/chromedriver.exe", "./chrome_win32/chromedriver_win32.exe")
elif sys.platform == "linux" and platform.architecture()[0] == "64bit":
pass
elif sys.platform == "darwin" and platform.architecture()[0] == "64bit":
pass
print("Done!")

View File

@ -1,3 +1,2 @@
- 删除chrome的install文件夹 - python generate_chrome.py 更新最新的chrome及chromedriver
- 修改index.html, logic.js及logic_CN.js ElectronJS/package.jsonmanifest_v3/package.jsoneasyspider_executestage.py中的版本号 - python change_version.py 更改版本号
- 更新最新的tasks文件夹

View File

@ -2,7 +2,6 @@
// Use IntelliSense to learn about possible attributes. // Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes. // Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.3.3",
"configurations": [ "configurations": [
{ {
"name": "Python: EasySpider", "name": "Python: EasySpider",
@ -11,8 +10,8 @@
"program": "${file}", "program": "${file}",
"console": "integratedTerminal", "console": "integratedTerminal",
"justMyCode": true, "justMyCode": true,
// "args": ["--id", "38", "--read_type", "local", "--headless", "1"] "args": ["--id", "[47]", "--read_type", "local", "--headless", "0"]
"args": ["--id", "[36]", "--headless", "0", "--user_data", "1"] // "args": ["--id", "[44]", "--headless", "0", "--user_data", "1"]
} }
] ]
} }

View File

@ -265,7 +265,8 @@ class BrowserThread(Thread):
self.recordLog("执行系统命令:" + code) self.recordLog("执行系统命令:" + code)
# 执行系统命令超时时间为5秒 # 执行系统命令超时时间为5秒
try: try:
output = subprocess.run(code, capture_output=True, text=True, timeout=max_wait_time, encoding="utf-8", shell=True) # output = subprocess.run(code, capture_output=True, text=True, timeout=max_wait_time, encoding="utf-8", shell=True)
output = subprocess.run(code, capture_output=True, text=True, timeout=max_wait_time, shell=True)
# 输出命令返回值 # 输出命令返回值
output = output.stdout output = output.stdout
print(output) print(output)
@ -1063,6 +1064,12 @@ if __name__ == '__main__':
sys.exit() sys.exit()
print("Chrome location:", options.binary_location) print("Chrome location:", options.binary_location)
print("Chromedriver location:", driver_path) print("Chromedriver location:", driver_path)
# elif os.getcwd().find("ExecuteStage") >= 0: # 如果直接执行
# print("Finding chromedriver in ./Chrome",
# os.getcwd()+"/Chrome")
# options.binary_location = "./Chrome/chrome.exe" # 指定chrome位置
# # option.binary_location = "C:\\Users\\q9823\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe"
# driver_path = "./Chrome/chromedriver.exe"
elif os.path.exists(os.getcwd()+"/../ElectronJS"): elif os.path.exists(os.getcwd()+"/../ElectronJS"):
if os.getcwd().find("ElectronJS") >= 0: # 软件dev用 if os.getcwd().find("ElectronJS") >= 0: # 软件dev用
print("Finding chromedriver in EasySpider", print("Finding chromedriver in EasySpider",
@ -1074,12 +1081,6 @@ if __name__ == '__main__':
os.getcwd()+"/ElectronJS") os.getcwd()+"/ElectronJS")
option.binary_location = "../ElectronJS/chrome_win64/chrome.exe" # 指定chrome位置 option.binary_location = "../ElectronJS/chrome_win64/chrome.exe" # 指定chrome位置
driver_path = "../ElectronJS/chrome_win64/chromedriver_win64.exe" driver_path = "../ElectronJS/chrome_win64/chromedriver_win64.exe"
elif os.getcwd().find("ExecuteStage") >= 0: # 如果直接执行
print("Finding chromedriver in ./Chrome",
os.getcwd()+"/Chrome")
options.binary_location = "./Chrome/chrome.exe" # 指定chrome位置
# option.binary_location = "C:\\Users\\q9823\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe"
driver_path = "./Chrome/chromedriver.exe"
else: else:
options.binary_location = "./chrome.exe" # 指定chrome位置 options.binary_location = "./chrome.exe" # 指定chrome位置
driver_path = "./chromedriver.exe" driver_path = "./chromedriver.exe"

File diff suppressed because one or more lines are too long

View File

@ -1,51 +1,51 @@
{ {
"name": "EasySpider", "name": "EasySpider",
"version": "0.3.3", "version": "0.3.3",
"type": "module", "type": "module",
"scripts": { "scripts": {
"build": "rollup -c", "build": "rollup -c",
"dev": "rollup -c -w", "dev": "rollup -c -w",
"crx": "crx3", "crx": "crx3",
"package": "node package.js" "package": "node package.js"
}, },
"license": "GPL-3.0", "license": "GPL-3.0",
"dependencies": { "dependencies": {
"crx": "^5.0.1", "crx": "^5.0.1",
"crx3": "^1.1.3", "crx3": "^1.1.3",
"dotenv": "^16.0.0", "dotenv": "^16.0.0",
"jquery": "^3.6.4", "jquery": "^3.6.4",
"rollup-plugin-alias": "^2.2.0", "rollup-plugin-alias": "^2.2.0",
"rollup-plugin-css-only": "^3.1.0", "rollup-plugin-css-only": "^3.1.0",
"rollup-plugin-import-css": "^3.0.3", "rollup-plugin-import-css": "^3.0.3",
"rollup-plugin-vue": "^6.0.0", "rollup-plugin-vue": "^6.0.0",
"vue": "^2.7.14", "vue": "^2.7.14",
"vue-template-compiler": "^2.7.14", "vue-template-compiler": "^2.7.14",
"webextension-polyfill": "^0.7.0", "webextension-polyfill": "^0.7.0",
"webextension-polyfill-ts": "^0.22.0" "webextension-polyfill-ts": "^0.22.0"
}, },
"devDependencies": { "devDependencies": {
"@rollup/plugin-alias": "^3.1.1", "@rollup/plugin-alias": "^3.1.1",
"@rollup/plugin-commonjs": "^17.0.0", "@rollup/plugin-commonjs": "^17.0.0",
"@rollup/plugin-json": "^4.1.0", "@rollup/plugin-json": "^4.1.0",
"@rollup/plugin-node-resolve": "^11.0.1", "@rollup/plugin-node-resolve": "^11.0.1",
"@rollup/plugin-replace": "^2.3.4", "@rollup/plugin-replace": "^2.3.4",
"@types/chrome": "0.0.164", "@types/chrome": "0.0.164",
"@types/fs-extra": "^9.0.13", "@types/fs-extra": "^9.0.13",
"@types/node": "^16.11.10", "@types/node": "^16.11.10",
"@vitejs/plugin-vue": "^1.9.3", "@vitejs/plugin-vue": "^1.9.3",
"esno": "^0.12.1", "esno": "^0.12.1",
"firebase": "^9.18.0", "firebase": "^9.18.0",
"fs-extra": "^10.0.0", "fs-extra": "^10.0.0",
"npm-run-all": "^4.1.5", "npm-run-all": "^4.1.5",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"rollup": "^2.38.5", "rollup": "^2.38.5",
"rollup-plugin-chrome-extension": "^3.6.12", "rollup-plugin-chrome-extension": "^3.6.12",
"rollup-plugin-empty-dir": "^1.0.4", "rollup-plugin-empty-dir": "^1.0.4",
"rollup-plugin-inject-process-env": "^1.3.1", "rollup-plugin-inject-process-env": "^1.3.1",
"rollup-plugin-postcss": "^4.0.2", "rollup-plugin-postcss": "^4.0.2",
"rollup-plugin-typescript2": "^0.31.0", "rollup-plugin-typescript2": "^0.31.0",
"rollup-plugin-vue2": "^0.8.1", "rollup-plugin-vue2": "^0.8.1",
"rollup-plugin-zip": "^1.0.1", "rollup-plugin-zip": "^1.0.1",
"typescript": "^4.4.3" "typescript": "^4.4.3"
} }
} }

View File

@ -1,48 +1,57 @@
{ {
"name": "EasySpider", "name": "EasySpider",
"version": "0.3.3", "version": "0.3.3",
"description": "EasySpider's chrome extension", "description": "EasySpider's chrome extension",
"author": "Naibo Wang", "author": "Naibo Wang",
"manifest_version": 3, "manifest_version": 3,
"action": { "action": {
"default_icon": { "default_icon": {
"16": "assets/icon-16.png", "16": "assets/icon-16.png",
"19": "assets/icon-19.png", "19": "assets/icon-19.png",
"38": "assets/icon-38.png", "38": "assets/icon-38.png",
"128": "assets/icon-128.png" "128": "assets/icon-128.png"
},
"default_title": "EasySpider"
}, },
"default_title": "EasySpider" "icons": {
}, "16": "assets/icon-16.png",
"icons": { "38": "assets/icon-38.png",
"16": "assets/icon-16.png", "128": "assets/icon-128.png"
"38": "assets/icon-38.png", },
"128": "assets/icon-128.png" "background": {
}, "service_worker": "background.ts"
"background": { },
"service_worker": "background.ts" "content_scripts": [
}, {
"content_scripts": [ "matches": [
{ "http://*/*",
"matches": [ "https://*/*"
"http://*/*", ],
"https://*/*" "css": [
], "style/toolkit.css"
"css": ["style/toolkit.css"], ],
"js": ["content-scripts/main.js"], "js": [
"run_at": "document_end", "content-scripts/main.js"
"all_frames": true ],
} "run_at": "document_end",
], "all_frames": true
"web_accessible_resources": [ }
{ ],
"resources": [ "*/*.js" ], "web_accessible_resources": [
"matches": [ {
"http://*/*", "resources": [
"https://*/*" "*/*.js"
] ],
} "matches": [
], "http://*/*",
"permissions": [ "https://*/*"
"identity", "storage", "tabs","scripting" ]
] }
} ],
"permissions": [
"identity",
"storage",
"tabs",
"scripting"
]
}