mirror of
https://github.com/NaiboWang/EasySpider.git
synced 2025-04-23 04:34:22 +08:00
MACOS version
This commit is contained in:
parent
2833185b5c
commit
2aa2915461
@ -276,11 +276,12 @@
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
ws.send(JSON.stringify(message));
|
ws.send(JSON.stringify(message));
|
||||||
if(getOperatingSystemInfo().version == 'macOS'){
|
$.get(app.$data.backEndAddressServiceWrapper + "/queryOSVersion", function (OSInfo) {
|
||||||
// app.$data.command = "./easyspider_executestage --id " + result.toString() + " --user_data " + (app.$data.with_user_data ? "1" : "0") + " --server_address " + app.$data.backEndAddressServiceWrapper;
|
if(OSInfo.version == 'darwin'){
|
||||||
changeCommand();
|
changeCommand();
|
||||||
$('#myModal').modal('show');
|
$('#myModal').modal('show');
|
||||||
}
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
// }
|
// }
|
||||||
},
|
},
|
||||||
@ -323,7 +324,7 @@
|
|||||||
ws.onmessage = function(message){
|
ws.onmessage = function(message){
|
||||||
message = JSON.parse(message.data);
|
message = JSON.parse(message.data);
|
||||||
app.$data.config_folder = message.config_folder;
|
app.$data.config_folder = message.config_folder;
|
||||||
app.$data.easyspider_location = message.easyspider_location;
|
app.$data.easyspider_location = message.easyspider_location.replace("/EasySpider.app/","");
|
||||||
}
|
}
|
||||||
ws.onclose = function () {
|
ws.onclose = function () {
|
||||||
// 关闭 websocket
|
// 关闭 websocket
|
||||||
|
1
Releases/.gitignore
vendored
1
Releases/.gitignore
vendored
@ -1,3 +1,4 @@
|
|||||||
|
EasySpider_MacOS_all_arch/easyspider_executestage
|
||||||
EasySpider
|
EasySpider
|
||||||
EasySpider.app/
|
EasySpider.app/
|
||||||
EasySpider_windows_amd64/user_data
|
EasySpider_windows_amd64/user_data
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
When you start to design a task, but chrome exits instantly after it is opened, please do the following to make it normal:
|
||||||
|
|
||||||
|
There is a potential issue with the software for MacOS, in that the Chrome software called by the software often updates automatically after opening, but the version of Chromedriver that the software relies on does not update automatically with Chrome, leading to the problem of being unable to open Chrome. Note that the EasySpider version used for Chrome is 113.0.
|
||||||
|
|
||||||
|
To check the Chrome version, enter the EasySpider software and right-click to "Show Package Contents". Then go to Contents/Resources/app folder and double-click on the chrome_mac64 software to open Chrome. Then go to Settings -> About to check if the Chrome version is 113.0.
|
||||||
|
|
||||||
|
If it is not, you can download the corresponding macOS version of Chromedriver for your current Chrome version from the following website: https://chromedriver.chromium.org/downloads, and then place the downloaded Chromedriver in the Contents/Resources/app folder mentioned above, rename it and replace the "chromedriver_mac64" file to restore normal use of the software.
|
||||||
|
|
||||||
|
|
52
Releases/EasySpider_MacOS_all_arch/V0.3.1 New Features.txt
Normal file
52
Releases/EasySpider_MacOS_all_arch/V0.3.1 New Features.txt
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
## Update Instruction
|
||||||
|
|
||||||
|
|
||||||
|
1. Advanced Operations:
|
||||||
|
|
||||||
|
- Custom scripts can be executed in the workflow, including executing JavaScript commands in the browser and invoking scripts at the operating system level. The command's return value can be obtained and recorded, greatly expanding the scope of operations.
|
||||||
|
- Before and after each operation, you can specify a JavaScript command to be executed targeting the current located element.
|
||||||
|
|
||||||
|
2. Custom scripts are also supported in the conditions and loop conditions. The return value of the custom script determines the condition for the judgment of conditions and loops, greatly enhancing the flexibility of tasks. The ability to use the break statement within a loop is added, allowing custom operations to manipulate elements within the loop.
|
||||||
|
|
||||||
|
|
||||||
|
3. Multiple XPath expressions are generated simultaneously for user selection, and the XPath Helper extension is pre-installed for XPath debugging.
|
||||||
|
|
||||||
|
4. Added the functionality to extract the background image URL of elements, current page title, and current page URL.
|
||||||
|
|
||||||
|
5. Added the capability to save screenshots of elements or entire web pages. This feature works best in headless mode.
|
||||||
|
|
||||||
|
6. Added the functionality to download images.
|
||||||
|
|
||||||
|
7. Added OCR recognition of elements. To use this feature, Tesseract library needs to be installed first: https://tesseract-ocr.github.io/tessdoc/Installation.html
|
||||||
|
|
||||||
|
8. Directly extract the return value of executing JavaScript code on elements, allowing for functionalities such as regular expression matching and obtaining the background color of elements.
|
||||||
|
|
||||||
|
9. Added the capability to switch dropdown options and extract the selected value and text of dropdown options.
|
||||||
|
|
||||||
|
10. Significantly improved user guidance and explanations to make the software more user-friendly. This includes instructions on handling iframe tags, explanations of parameter meanings for various options, and explanations on modifying the XPath for loop items, and more.
|
||||||
|
|
||||||
|
11. Added instructions on how to execute tasks from the command line.
|
||||||
|
|
||||||
|
12. Added headless mode configuration, allowing the software to run without a browser interface.
|
||||||
|
|
||||||
|
13. Fixed the issue where Chinese paths couldn't be recognized correctly when using user-configured browser modes.
|
||||||
|
|
||||||
|
14. Fixed the issue where the program would freeze when there was no unconditional branch in the conditional branching.
|
||||||
|
|
||||||
|
15. Fixed the issue where the input box would freeze after saving a task.
|
||||||
|
|
||||||
|
16. Added the option to set the maximum waiting time for page load in the "Open Page" and "Click element" operations.
|
||||||
|
|
||||||
|
17. Added the functionality to move the mouse to an element.
|
||||||
|
|
||||||
|
18. Displays a prompt when an element cannot be found.
|
||||||
|
|
||||||
|
19. Fixed the webpage scrolling bug.
|
||||||
|
|
||||||
|
20. The task name is initialized with the value of the page title upon the first visit.
|
||||||
|
|
||||||
|
21. Added version update prompts.
|
||||||
|
|
||||||
|
22. Added the information of the publisher as requested.
|
||||||
|
|
||||||
|
23. Updated Chrome version to 113.
|
63
Releases/EasySpider_MacOS_all_arch/V0.3.1 新特性.txt
Normal file
63
Releases/EasySpider_MacOS_all_arch/V0.3.1 新特性.txt
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
如果下载速度慢,可以考虑中国境内下载地址:[中国境内下载地址](https://github.com/NaiboWang/EasySpider/releases/download/v0.3.0/Download_Link_Address_in_China_Mainland.txt)。
|
||||||
|
|
||||||
|
### 强烈建议大家观看新特性讲解视频
|
||||||
|
|
||||||
|
B站最新版特性视频已上传,新视频非常有用,推荐大家观看。
|
||||||
|
|
||||||
|
[【重要】自定义条件判断之使用循环项内的JS命令返回值 - 第二弹](https://www.bilibili.com/video/BV1mu411x7Nn/)
|
||||||
|
|
||||||
|
[如何同时执行多个任务(并行多开)](https://www.bilibili.com/video/BV13c411G7LE/)
|
||||||
|
|
||||||
|
[如何执行自己写的JS代码和系统代码 (自定义操作)](https://www.bilibili.com/video/BV1qs4y1z7Hc/)
|
||||||
|
|
||||||
|
[如何自定义循环和判断条件 - 第一弹](https://www.bilibili.com/video/BV1Ys4y1z777/)
|
||||||
|
|
||||||
|
[如何对元素和网页截图及(无头模式)命令行执行指南](https://www.bilibili.com/video/BV1dV4y1z764/)
|
||||||
|
|
||||||
|
[OCR识别元素内容功能](https://www.bilibili.com/video/BV1xz4y1b72D/)
|
||||||
|
|
||||||
|
注意,v0.3.1版本任务task文件夹内`.json`文件和之前所有版本均不兼容,请重新设计v0.3.1版本任务。
|
||||||
|
|
||||||
|
## 更新说明
|
||||||
|
1. 高级操作:
|
||||||
|
- 可以在任务流程中**执行自定义脚本**,包括在浏览器中**执行Javascript指令**以及**操作系统级别的脚本调用**并可**得到命令返回值并记录**,大大扩展了可操作空间。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- 在每一个操作执行前和执行后,都可以指定执行一段针对当前定位元素的JavaScript指令。
|
||||||
|
|
||||||
|
<img src="https://github.com/NaiboWang/EasySpider/assets/30287768/dde64388-5668-40ff-951e-fb8f60655c49" height=50% width=50%>
|
||||||
|
|
||||||
|
2. **判断条件和循环条件**中同样增加了**执行自定义脚本**,并根据自定义脚本的返回值是否为真来作为条件判断和循环的判断条件,同样极大的增加了任务的可操作性。循环中增加了用代码break的操作设定,自定义操作可以操作循环内元素。
|
||||||
|

|
||||||
|
<img src="https://github.com/NaiboWang/EasySpider/assets/30287768/5ce7cf50-e5c9-4714-a83b-9c65934e9c68" width=50%></img>
|
||||||
|
|
||||||
|
3. 可同时生成多种XPath供用户选择,并**预装了XPath Helper扩展**供大家调试XPath。
|
||||||
|
4. 增加采集元素背景图片地址,当前页面标题,当前页面URL地址功能。
|
||||||
|
5. 增加保存元素截图功能,如要截图某元素或整个网页页面,可以用此功能(配合无头模式效果更好)。
|
||||||
|
6. 增加下载图片功能。
|
||||||
|
7. 增加OCR识别元素功能(使用此功能需首先自行安装Tesseract库:[https://blog.csdn.net/u010454030/article/details/80515501](https://blog.csdn.net/u010454030/article/details/80515501))
|
||||||
|
|
||||||
|
8. 可直接提取对元素执行JavaScript代码后的返回值,实现如正则表达式,获得元素背景颜色等功能。
|
||||||
|
9. 增加切换下拉选项功能,采集下拉选项正在选中的值和文本。
|
||||||
|
<img src="https://github.com/NaiboWang/EasySpider/assets/30287768/c0b2bec1-2a97-4516-930e-1b310697212b" width=50%></img>
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
10. 大幅增加使用提示和说明,使软件更易用(如增加了iframe标签的处理方式说明,各个选项的参数意义,以及循环项XPath的修改说明等等)。
|
||||||
|
11. 执行命令时增加了如何用命令行执行任务的提示:[https://github.com/NaiboWang/EasySpider/wiki/Argument-Instruction](https://github.com/NaiboWang/EasySpider/wiki/Argument-Instruction)。
|
||||||
|

|
||||||
|
12. 增加并行多开模式。
|
||||||
|
13. 增加无头模式,即无浏览器界面模式配置。
|
||||||
|
14. 修复了使用用户配置浏览器模式下的中文路径不能正确识别的问题。
|
||||||
|
15. 修复了条件分支没有无条件分支时会卡死的问题。
|
||||||
|
16. 修复了保存任务后会输入框卡死的问题。
|
||||||
|
17. 打开网页操作和点击元素操作新增设置页面最长加载等待时间。
|
||||||
|
18. 增加了鼠标移动到元素功能。
|
||||||
|
19. 找不到元素时会提示。
|
||||||
|
20. 修复网页滚动Bug。
|
||||||
|
21. 增加新增提取数据字段操作。
|
||||||
|
22. 任务名称初始化为第一次进入页面的标题值。
|
||||||
|
23. 增加版本更新提示。
|
||||||
|
24. 应要求增加出品方信息。
|
||||||
|
25. 更新chrome版本为113。
|
Binary file not shown.
@ -1,31 +1,17 @@
|
|||||||
由于MacOS复杂的安全性设置,初次打开软件会显示未验证开发者从而不允许打开的问题,请参考以下github文档来查看MacOS版本如何打开软件和执行任务:https://github.com/NaiboWang/EasySpider/wiki/MacOS-Guide
|
|
||||||
|
|
||||||
文件访问权限必须给,麦克风权限完全用不到,作者也不清楚为什么会需要麦克风,因此可以拒绝。
|
|
||||||
|
|
||||||
可以从其他机器导入任务,只需要打开此目录的EasySpider软件右键“显示包内容”,然后把其他机器的tasks文件夹里的.json文件放入/Users/你的用户名/Library/Application Support/EasySpider/tasks文件夹里即可。同理执行号文件可以通过复制execution_instances文件夹中的.json文件来导入。注意,两个文件夹里的.json文件只支持命名为大于0的数字。
|
|
||||||
|
|
||||||
MacOS版本的软件有一个问题可能存在,即软件所调用的Chrome软件会在打开后经常性自动更新,但软件所依赖的Chromedriver版本并不会随着chrome自动更新,从而导致软件打不开chrome的问题。注意此版本的EasySpider使用的Chrome为111.0版本,如果使用过程中发现Chrome无法打开,请到Github Issues页面提issue,作者将会更新最新版本的软件供大家使用。
|
|
||||||
|
|
||||||
检查Chrome版本的方式为:进入EasySpider软件内部,即右键软件“显示包内容”,然后进入Contents/Resources/app文件夹内,手动双击打开chrome_mac64软件打开chrome,然后打开设置->关于Chrome来查看chrome版本是否为111.0版本。
|
|
||||||
|
|
||||||
如果不是,除了提出issue外,也可以自行到以下网址下载对应自己当前chrome版本的macOS版本的chromedriver:https://chromedriver.chromium.org/downloads
|
|
||||||
|
|
||||||
并放在上面提到的Contents/Resources/app文件夹内,更名并替换掉“chromedriver_mac64”文件即可使软件恢复正常使用。
|
|
||||||
|
|
||||||
Due to the complex security settings of MacOS, the issue of being unable to open software due to the "unverified developer" message may occur upon the first attempt to open the software. Please refer to the following GitHub document to see how to open software and perform tasks on your MacOS version:
|
Due to the complex security settings of MacOS, the issue of being unable to open software due to the "unverified developer" message may occur upon the first attempt to open the software. Please refer to the following GitHub document to see how to open software and perform tasks on your MacOS version:
|
||||||
|
|
||||||
https://github.com/NaiboWang/EasySpider/wiki/MacOS-Guide
|
https://github.com/NaiboWang/EasySpider/wiki/MacOS-Guide
|
||||||
|
|
||||||
File access permissions must be granted, microphone permissions are not necessary at all, and the author is not sure why microphone permissions are being requested, so they can be declined.
|
File access permissions must be granted, microphone permissions are not necessary at all, and the author is not sure why microphone permissions are being requested, so they can be declined.
|
||||||
|
|
||||||
|
Official Site: https://github.com/NaiboWang/EasySpider
|
||||||
|
|
||||||
|
Welcome to promote this software to other friends.
|
||||||
|
|
||||||
|
This version is for Windows 10 x64 and above.
|
||||||
|
|
||||||
|
Please wait for at most 20 seconds if you see a white screen when open EasySpider.
|
||||||
|
|
||||||
|
Video Tutorial: https://youtube.com/playlist?list=PL0kEFEkWrT7mt9MUlEBV2DTo1QsaanUTp
|
||||||
|
|
||||||
You can import tasks from other machines by simply opening the EasySpider software in this directory, right-clicking "Show Package Contents", and then placing the .json files from the tasks folder in the /Users/your user name/Library/Application Support/EasySpider/tasks folder of the other machine. Similarly, execution ID files can be imported by copying the .json files from the execution_instances folder. Please note that the .json files in both folders only support names greater than 0.
|
You can import tasks from other machines by simply opening the EasySpider software in this directory, right-clicking "Show Package Contents", and then placing the .json files from the tasks folder in the /Users/your user name/Library/Application Support/EasySpider/tasks folder of the other machine. Similarly, execution ID files can be imported by copying the .json files from the execution_instances folder. Please note that the .json files in both folders only support names greater than 0.
|
||||||
|
|
||||||
There is a potential issue with the software for MacOS, in that the Chrome software called by the software often updates automatically after opening, but the version of Chromedriver that the software relies on does not update automatically with Chrome, leading to the problem of being unable to open Chrome. Note that the EasySpider version used for Chrome is 111.0. If Chrome cannot be opened during use, please report the issue on the GitHub Issues page, and the author will update the latest version of the software for everyone to use.
|
|
||||||
|
|
||||||
To check the Chrome version, enter the EasySpider software and right-click to "Show Package Contents". Then go to Contents/Resources/app folder and double-click on the chrome_mac64 software to open Chrome. Then go to Settings -> About to check if the Chrome version is 111.0.
|
|
||||||
|
|
||||||
If it is not, besides reporting the issue, you can also download the corresponding macOS version of Chromedriver for your current Chrome version from the following website: https://chromedriver.chromium.org/downloads
|
|
||||||
|
|
||||||
Place the downloaded Chromedriver in the Contents/Resources/app folder mentioned above, rename it and replace the "chromedriver_mac64" file to restore normal use of the software.
|
|
||||||
|
|
||||||
|
@ -0,0 +1,11 @@
|
|||||||
|
|
||||||
|
如果点击"使用浏览器设计"按钮后Chrome弹出并闪退,需要按照以下流程操作:
|
||||||
|
|
||||||
|
MacOS版本的软件有一个问题可能存在,即软件所调用的Chrome软件会在打开后经常性自动更新,但软件所依赖的Chromedriver版本并不会随着chrome自动更新,从而导致软件打不开chrome的问题。注意此版本的EasySpider使用的Chrome为113.0版本。
|
||||||
|
|
||||||
|
检查Chrome版本的方式为:进入EasySpider软件内部,即右键软件“显示包内容”,然后进入Contents/Resources/app文件夹内,手动双击打开chrome_mac64软件打开chrome,然后打开设置->关于Chrome来查看Chrome版本是否为113.0版本。
|
||||||
|
|
||||||
|
如果不是,请自行到以下网址下载对应自己当前chrome版本的macOS版本的chromedriver:https://chromedriver.chromium.org/downloads,并将chromedriver文件放在上面提到的Contents/Resources/app文件夹内,更名并替换掉“chromedriver_mac64”文件即可使软件恢复正常使用。
|
||||||
|
|
||||||
|
如果使用过程中发现其他问题,请到Github Issues页面提issue。
|
||||||
|
|
16
Releases/EasySpider_MacOS_all_arch/软件使用说明.txt
Normal file
16
Releases/EasySpider_MacOS_all_arch/软件使用说明.txt
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
欢迎将软件宣传给更多需要的朋友!
|
||||||
|
|
||||||
|
由于MacOS复杂的安全性设置,初次打开软件会显示未验证开发者从而不允许打开的问题,请参考以下视频来查看MacOS版本如何打开软件和执行任务:https://www.bilibili.com/video/BV1WL411h71r
|
||||||
|
|
||||||
|
文件访问权限必须给,麦克风权限完全用不到,作者也不清楚为什么会需要麦克风,因此可以拒绝。
|
||||||
|
|
||||||
|
官方网址: https://github.com/NaiboWang/EasySpider
|
||||||
|
|
||||||
|
支持Windows 10 x64及以上版本。
|
||||||
|
|
||||||
|
打开如果白屏请等待最多20秒,界面就会显示。
|
||||||
|
|
||||||
|
视频教程:https://www.bilibili.com/video/BV1Fk4y1L7xX/
|
||||||
|
|
||||||
|
可以从其他机器导入任务,只需要把其他机器的tasks文件夹里的.json文件放入/Users/你的用户名/Library/Application Support/EasySpider/tasks文件夹里即可。同理执行号文件可以通过复制execution_instances文件夹中的.json文件来导入。注意,两个文件夹里的.json文件只支持命名为大于0的数字。
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user