Script Builder Dolphin {anty}
Script Builder là gì 🧐
Bạn có thể hiểu bản chất của quy trình này bằng cách hình dung rằng mọi thao tác trong trình duyệt (nhấp chuột, bấm nút, nhập tên đăng nhập/mật khẩu, v.v.) đều có thể giao cho một con robot. Chỉ cần tạo một "kịch bản" - một chuỗi hành động mà "robot" sẽ thực hiện.
Ví dụ: chúng ta cần robot thực hiện một thao tác nào đó trên tất cả tài khoản FB (và số lượng có thể là bất kỳ), ví dụ xác nhận việc liên kết thẻ. Nếu làm thủ công, công việc này sẽ mất vài giờ - bạn phải đăng nhập vào từng hồ sơ, thực hiện một loạt thao tác rồi thoát ra. Khi có nhiều tài khoản, điều đó trở thành một sự lãng phí thời gian lớn. Với chức năng này, bạn có thể tạo một kịch bản đơn giản thực hiện tất cả các thao tác cần thiết một cách tự động 😉
Những bước đầu tiên với Các kịch bản 📖
Các kịch bản dựa trên những thao tác hàng ngày thường chiếm rất nhiều thời gian trong công việc. Một chuỗi "hành động" được tạo ra và tự động thực thi trong hồ sơ trình duyệt.
- Để bắt đầu làm việc, hãy chọn tab tương ứng - Các kịch bản - bằng cách nhấp vào biểu tượng ở menu bên trái:

- Hệ thống sẽ đề nghị bạn tạo Kịch bản đầu tiên ngay bằng cách nhấp nút "Tạo kịch bản".

- Cửa sổ này cũng hiển thị tất cả Các kịch bản đã tạo trước đó, và bạn có thể Xóa, Sao chép, Chia sẻ hoặc Chỉnh sửa chúng.

- Sau khi tạo Kịch bản, một khu vực làm việc sẽ mở ra để bạn dựng kịch bản bằng các "khối".
Chuyển giao kịch bản 📦
Việc chuyển giao cho phép người dùng chia sẻ các kịch bản đã dựng sẵn với những người dùng Dolphin{anty} khác mà không cần tạo lại khối hay cài đặt thủ công. Kịch bản có thể được chuyển cả trong cùng một nhóm lẫn giữa các tài khoản khác nhau.
Hoạt động thế nào?
Một kịch bản có thể được gửi tới bất kỳ người dùng Dolphin{anty} nào chỉ bằng cách nhập địa chỉ e-mail của họ. Tính năng này có trên tất cả các gói từ Starter trở lên.
Giới hạn chuyển giao:
- Gói Starter: Tối đa 50 lần chuyển mỗi ngày.
- Các gói khác: Không giới hạn.
⚠️ Lưu ý: Không thể chuyển một kịch bản nếu hồ sơ trình duyệt đang sử dụng kịch bản đó đang chạy. Hãy dừng hồ sơ trước khi bắt đầu chuyển.
Tùy chọn chuyển giao 🔗
Cửa sổ chuyển giao có nút gạt "Tạo và chuyển một bản sao của kịch bản". Cài đặt này quyết định kịch bản có ở lại tài khoản hiện tại hay không:
- Chuyển bản gốc: Kịch bản chuyển sang người nhận và bị xóa khỏi danh sách của người gửi.
- Chuyển một bản sao: Kịch bản gốc ở lại với người gửi, còn người nhận nhận được một bản sao y hệt.

Chia sẻ kịch bản trong nhóm 👥
- Nếu một kịch bản được chia sẻ cho cả nhóm, việc chuyển bản gốc cho người ngoài nhóm sẽ khiến nó biến mất với tất cả thành viên trong nhóm. Để giữ kịch bản cho nhóm, hãy đảm bảo nút gạt "Tạo và chuyển một bản sao của kịch bản" vẫn BẬT.
- Ngoài ra, nếu việc chuyển giao được thực hiện bởi một người dùng bổ sung không phải chủ sở hữu của kịch bản được chia sẻ, thì chỉ có thể gửi một bản sao. Trong trường hợp này, nút gạt "Tạo và chuyển một bản sao của kịch bản" sẽ được bật và khóa sẵn để bảo vệ dữ liệu gốc.

Khu vực tạo kịch bản 🛠️

Các thành phần ⬇️
- Ở góc trên bên trái - các nút màu xanh lá "Lưu kịch bản" và "Hiển thị nhật ký" để xem nhật ký các thao tác được ghi lại trong quá trình chạy. Đừng quên nhấp nút lưu mỗi khi bạn tạo/chỉnh sửa một kịch bản!
- Ở phía bên trái là danh sách tất cả các khối/hành động có thể có, bạn có thể kéo chúng vào khu vực làm việc, hoặc chỉ cần nhấp để khối xuất hiện ở đó.
- Ở giữa là chính khu vực làm việc, nơi bạn đặt các khối và nối chúng thành chuỗi/trình tự.
- Ở giữa phía dưới là module khởi chạy hồ sơ và điều khiển khu vực làm việc:
-
Hoàn tác hành động - bạn có thể hủy việc thêm một khối không cần thiết (các mũi tên trái và phải).
-
Chọn hồ sơ để áp dụng kịch bản ngay lập tức, giúp bạn bắt đầu tự động hóa nhanh chóng. Khi chọn Hồ sơ trống, một hồ sơ tạm thời sẽ được tạo để thử nghiệm kịch bản (nó không được lưu và chỉ dùng để thử nghiệm, đồng thời dùng địa chỉ IP của máy tính). Kịch bản đã hoàn thiện cũng có thể được chạy trên nhiều hồ sơ được chọn ở màn hình Hồ sơ trình duyệt.
\
- Chạy kịch bản theo từng bước - bạn có thể chạy tới giai đoạn mong muốn, tạm dừng hoặc dừng hẳn kịch bản, chỉnh sửa khối rồi chạy lại.
- "3 chấm" - Tại đây bạn có thể chọn cách khởi chạy hồ sơ:
- Ở chế độ headless - kịch bản được thực thi mà không hiển thị cửa sổ trình duyệt, rất tiện khi chạy trên nhiều hồ sơ cùng lúc, ví dụ 20 hồ sơ. Điều này hữu ích cho các tác vụ như farm FB, khi bạn không cần nhìn thấy tất cả cửa sổ trình duyệt.
- Không tải hình ảnh - khi chạy kịch bản ở chế độ này, hình ảnh không được tải, giúp tiết kiệm lưu lượng khi làm việc với proxy di động và tăng tốc độ thực thi. Tuy nhiên, nếu hình ảnh là cần thiết (ví dụ với captcha dạng hình), có thể phát sinh vấn đề.
- Công cụ "Con trỏ" và "Vùng chọn" - Với công cụ Vùng chọn, bạn có thể di chuyển hoặc xóa nhiều khối cùng lúc, còn công cụ Con trỏ chọn từng khối một.
-
Thao tác với các khối ✍🏻
Việc xóa bất kỳ hành động nào (ví dụ: Đóng tab) được thực hiện bằng cách nhấp đúp vào một khối, hoặc chọn nhiều khối cùng lúc bằng cách giữ Shift, rồi nhấn Del trên bàn phím để xóa.

Nối khối đầu tiên với vòng tròn xanh lá "Start". Điều này cho kịch bản biết quy trình bắt đầu từ đâu. Tất cả các hành động phải được nối với nhau bằng 🧵 Sợi chỉ để Trình dựng hiểu được trình tự các hành động. Sợi chỉ có thể được hủy bằng cách nhấp ❌ hoặc bằng cách nối 2 sợi song song. Sợi chỉ đỏ cho bạn khả năng lựa chọn. Sợi chỉ đỏ là lưới an toàn, nó đặt ra một hành động khác trong trường hợp Sợi chỉ xanh không hoạt động hoặc có sự cố trên trang web và nút mà kịch bản đáng lẽ phải nhấp đã không hiển thị. Khi đó, ví dụ: kịch bản sẽ đi theo Sợi chỉ đỏ, dẫn nó tới một khối nào đó.

Biến hệ thống ✅
Một số khối hành động dùng các biến hệ thống chứa tham số của hồ sơ trình duyệt làm dữ liệu đầu vào. Điều này cần thiết cho việc đăng nhập hàng loạt vào các mạng xã hội lớn hoặc để tạo các kịch bản tương tác không chỉ bên trong trình duyệt mà còn giữa các hồ sơ. Biến hệ thống không thể thay đổi và không thể dùng làm đầu ra.
- Browser_profile_id - ID của hồ sơ
- Browser_profile_name - tên của hồ sơ
Các nhóm khối ⬇️
Nhóm Điều hướng 🧭
Điều hướng là tất cả những gì liên quan đến tương tác với trang web: mở hoặc tải lại trang, chuyển tới một URL, chuyển đổi giữa các tab và các thao tác khác. Mọi thứ thường được làm qua thanh địa chỉ đều có thể tự động hóa.
Ví dụ, nếu hành động đầu tiên trong trình duyệt là mở một trang web cụ thể, chỉ cần chỉ định URL và robot sẽ tự động mở nó.

- Tab mới - bạn có thể nhập địa chỉ URL mà trình dựng sẽ mở trong một tab mới. Khối này hỗ trợ "Tài nguyên thay thế", chi tiết hơn về tài nguyên này sẽ được mô tả bên dưới.
- Kích hoạt tab - chọn tab theo số thứ tự bạn chỉ định để chuyển sang làm việc trong đó.
- Đóng tab - bạn có thể đóng tab hiện tại hoặc chỉ định số thứ tự của tab cần đóng.
- Mở URL - khởi chạy URL đã chỉ định trong một tab đang mở.
- Tải lại trang - tải lại trang ở tab đã được chỉ định trước.
Tài nguyên thay thế 🌠
Một công cụ tiện lợi khi làm việc nhóm, nó cho phép người tạo kịch bản, khi chia sẻ kịch bản với tất cả người dùng trong nhóm, để mỗi người tự chỉ định hành động của riêng mình trong phần tử đó, thay vì dùng giá trị mà người tạo kịch bản đã đặt.
Nhóm Chuột 🖱
Chuột là tất cả các thao tác nhằm tái tạo chuyển động của con trỏ chính xác nhất có thể. Nhấp vào một nút nhất định, cuộn tới phần tử mong muốn trên trang web - mọi thứ đều dễ thực hiện, bạn chỉ cần đặt các tham số cần thiết.
Ví dụ, sau khi mở một trang web, bạn cần nhấp vào một trường hoặc nút nào đó để nhập dữ liệu. Chỉ cần chỉ định tọa độ hoặc phần tử trên trang để bot nhấp vào.

Nhấp - Mô phỏng một cú nhấp chuột

- Chọn nút chuột mà kịch bản sẽ dùng.
- Bạn có thể chỉ định dùng Selector hoặc Tọa độ.
Có 3 loại Selector ⬇️
XPath - cho phép tìm kiếm theo bất kỳ thuộc tính nào của phần tử. Các lập trình viên thường thêm thuộc tính riêng vào nhiều thẻ khác nhau, và chúng có thể được dùng, ví dụ, để duyệt cây DOM, chọn các bài đăng blog của tác giả hoặc tìm kiếm trong bảng. XPath hiệu quả ở những nơi các cách tìm khác thất bại.
Bảng xuất hiện trên rất nhiều trang web, và thường có nhiều bảng trên cùng một trang, mỗi bảng có thể chứa hàng trăm dòng. Làm sao tạo selector cho một liên kết trong ô "In Concordance"? Class có thể nằm ở các cấp trên, thẻ thì giống nhau, và hoàn toàn không có thuộc tính nào. XPath xử lý việc này rất tốt nhờ các đặc tính của nó và khả năng tìm kiếm toàn văn. Ví dụ:
//[contains(.,'Deals')]//td[contains(.,'Pending')]//a
Một selector như vậy dễ đọc và dễ chỉnh sửa khi cần.
Ngoài ra, XPath rất linh hoạt. Nếu trong ví dụ trên, tập bản ghi có chứa 'Procurement', bạn có thể thêm số hiệu procurement làm điều kiện bổ sung, ví dụ như sau:
//*[contains(.,'Transactions')]//tr[contains(.,'Procurement 4')]//td[contains(.,'Under approval')]//a
Bạn có thể lấy XPath của một phần tử trên trang trong trình duyệt như sau: nhấn CTRL+Shift+C (hoặc trên Mac - CMD+Shift+C), sau đó chọn phần tử mong muốn trên trang và nhấp vào nó. Sau đó, code của phần tử đó sẽ được tô sáng, từ đây bạn có thể sao chép đường dẫn ở định dạng XPath.

CSS là cách chọn phần tử thông qua giá trị của nó trong bảng kiểu. Đây là loại selector tiện lợi hơn và được dùng thường xuyên hơn. Đọc thêm
Text - phiên bản đơn giản hóa của những cách trên, vì nó chỉ chọn phần tử qua văn bản trên trang đã chỉ định.
- Tọa độ - ý tưởng là mô phỏng cú nhấp chuột tại tọa độ đã chỉ định. Bạn có thể dễ dàng tìm tọa độ bằng một tiện ích mở rộng đơn giản cho Chrome và cài nó theo hướng dẫn của chúng tôi.
Đây là phương án "cuối cùng", khi selector hoàn toàn không khả thi. Một số trang thay đổi hoàn toàn cấu trúc sau mỗi lần cập nhật để chống lại việc tự động hóa. Với chúng thì chỉ còn cách dùng tọa độ.
- Di chuyển chuột - hoạt động giống như tọa độ.
- Cuộn - mô phỏng việc cuộn bánh xe chuột trên trang tới một tọa độ nhất định. (không có khả năng chỉ định tốc độ cuộn).
Nhóm Bàn phím ⌨️
Bàn phím - tương tự như làm việc với chuột, bạn có thể nhập bất kỳ văn bản nào hoặc nhấn bất kỳ phím nào, và kịch bản sẽ thực hiện tự động. Bạn chỉ cần chỉ định các tham số ban đầu.
Ví dụ, để nhập tên đăng nhập và mật khẩu của tài khoản, bạn chỉ cần cung cấp tham số cho robot và nó sẽ tự thực hiện việc nhập.

- Nhấn phím - chỉ định phím cần nhấn trong một khu vực nhất định.
- Nhập văn bản - chỉ định văn bản cần nhập trong một khu vực nhất định.
Khối này hỗ trợ Tài nguyên thay thế.
Tổ hợp phím chỉ có thể chỉ định từ danh sách có sẵn.
Nhóm Dữ liệu 🗂
Dữ liệu là một trong những nhóm khối quan trọng nhất.
Phần lớn các thao tác trong trình duyệt đều liên quan đến việc tương tác với dữ liệu trên trang web. Ví dụ, bạn có thể muốn lưu dữ liệu từ tất cả các thẻ rồi tự động điền chúng vào từng tài khoản. Hoặc tải creative cho một chiến dịch quảng cáo từ một thư mục cụ thể trên máy tính. Có thể bạn cần tải một meme vui và gửi cho bà của mình 😁. Bằng cách chỉ định thư mục chứa creative sẽ được tải lên từng tài khoản quảng cáo, bạn có thể tự động hóa quy trình này bằng chức năng của chúng tôi. Hướng dẫn chi tiết về cách dùng đúng các hành động trong nhóm khối này sẽ được cung cấp sau.

- Phần tử tồn tại - dùng nguyên tắc selector như đã mô tả ở khối Nhấp.
- Lấy URL - liên kết được ghi vào một biến và sau đó có thể được lưu, ví dụ vào một tệp.
- Lấy văn bản - chức năng này sao chép văn bản từ khu vực đã chỉ định và tạo một biến cho nó, nhờ đó sau này bạn có thể dán văn bản vào Nhập văn bản hoặc bất kỳ chức năng tương tự nào khác. Khối này hỗ trợ Tài nguyên thay thế
- Lấy giá trị thuộc tính - chức năng này cho phép lấy giá trị từ trang web chính xác từ thuộc tính value. Chức năng này chọn chuỗi đầu tiên có thuộc tính
<value>và ghi nó vào một biến. - Lấy giá trị - ở đây bạn có thể chỉ định bất kỳ thuộc tính nào, bạn có thể tìm hiểu có những loại thuộc tính nào tại đây. Trong HTML có các thuộc tính, ví dụ:
<div class="abcd">text element</div>, class là một thuộc tính, còn abcd là giá trị của nó. Đây cũng là một cách hữu ích để lấy thông tin từ một phần tử đã chỉ định. - Ngẫu nhiên - tạo văn bản ngẫu nhiên (Email, Họ tên đầy đủ, Chữ cái ngẫu nhiên, Mật khẩu, Tên, Họ, Số) trong trường đã chỉ định.
- Tải lên tệp - tải một tệp lên trang web, ví dụ một ảnh đại diện.
Điều quan trọng là bạn phải tìm được phần tử input có
typelà file (<input type="file" />) và sao chép nó ở định dạng XPath (chẳng hạn). Nó có thể trông như thế này://*[@id="add_files_btn"]. Thông thường ở các trình tải lên, nút Load lớn thực ra không tải gì cả, mà chỉ nhấp vào phần tửinput type="file"thật. Khối này hỗ trợ Tài nguyên thay thế - Đọc tệp - chức năng này đọc một tệp từ ổ cứng. Điều này cần thiết để, ví dụ, lấy văn bản từ một tệp trên máy tính và dán nó vào một ô nhập liệu nào đó trên trang web. Khối này hỗ trợ Tài nguyên thay thế
- Ghi tệp - lưu dữ liệu từ biến đã chỉ định vào tệp đã chỉ định (các định dạng khả dụng - TXT, CSV, JSON, DOCX, DOC, XLSX). Ví dụ: dùng Lấy văn bản từ một trang bằng cách chỉ định XPath và tạo một biến cho nó, sau đó dùng Ghi tệp (chỉ định đường dẫn tới tệp cần ghi, ví dụ một tệp TXT, và chọn chế độ ghi). Khối này hỗ trợ Tài nguyên thay thế
- Http - tạo các yêu cầu, ví dụ đây là cách bạn có thể tích hợp với telegram hoặc dịch vụ SMS, hoặc đổi IP trên proxy di động qua một liên kết.
- Đặt biến - theo đúng nghĩa đen, tạo một biến và gán giá trị cho nó. Ngoài ra, nếu bạn tạo một biến khác cùng tên, bạn có thể thay đổi giá trị của nó. Khối này hỗ trợ Tài nguyên thay thế
- Spintax là một cú pháp văn bản trông như thế này:
{Hello|Good afternoon}! I hope you're in a {good|great} mood! {{Thank you and|Wishing you a great day|Good luck|Bye}!Nó được dùng để sinh văn bản ngẫu nhiên từ một tập lựa chọn. Ví dụ, spintax ở trên có thể sinh ra văn bản sau: "Good afternoon, I hope you are in a great mood! Have a great day!" và sẽ khác nhau mỗi lần, với 16 biến thể có thể có. Khối này hỗ trợ Tài nguyên thay thế - Lấy số điện thoại - dùng cùng với chức năng Kiểm tra mã SMS, tạo một số điện thoại qua dịch vụ sms-activate.org, số này sau đó sẽ nhận mã SMS để xác minh danh tính trên trang web. Khối này hỗ trợ Tài nguyên thay thế.
- Kiểm tra mã SMS - nhận mã về số điện thoại đã được tạo bằng chức năng mô tả ở bên trên. Bạn cần chỉ định access token từ sms-activate.org. Chúng tôi khuyên nên chờ ít nhất 20 giây trước khi kiểm tra mã (đặt Tạm dừng), để mã kịp gửi tới, và không kiểm tra mã quá một lần mỗi 5 giây để tránh bị chặn trên sms-activate.org. Khối này hỗ trợ Tài nguyên thay thế, chi tiết hơn về nó tại đây.
- Giải captcha - một bot (rucaptcha.com dịch vụ) vượt captcha thay cho người dùng.
Có 2 dạng captcha:
- Captcha dạng văn bản: chỉ cần chỉ định selector xác định vị trí của captcha (hình ảnh có chữ). Sau đó bạn cần chỉ định tên của biến đầu ra, thêm một nút nhấp vào ô nhập văn bản captcha, rồi dùng chức năng "Nhập văn bản" bằng cách nhập biến đã được ghi ở biến đầu ra trong khối "Giải captcha".

- Captcha có hình ảnh từ Google ReCaptcha (V2): chỉ cần chỉ định selector để xác định vị trí captcha và thêm một nút nhấp để nhấp, ví dụ "OK" hoặc "Pass" (tùy theo trang web). Sau đó bạn có thể tiếp tục chạy kịch bản.
- Captcha dạng văn bản: chỉ cần chỉ định selector xác định vị trí của captcha (hình ảnh có chữ). Sau đó bạn cần chỉ định tên của biến đầu ra, thêm một nút nhấp vào ô nhập văn bản captcha, rồi dùng chức năng "Nhập văn bản" bằng cách nhập biến đã được ghi ở biến đầu ra trong khối "Giải captcha".
Quan trọng! Bạn cần đã đăng ký và có tiền trong tài khoản trên trang rucaptcha.com để vượt captcha, nếu không chức năng sẽ không dùng được. Trên trang đó bạn sẽ nhận được một access token, bạn hãy chèn nó vào trường tương ứng. Antikapcha: dịch vụ trực tuyến nhận dạng, vượt và tự động giải captcha token rucaptcha.com. Khối này hỗ trợ Tài nguyên thay thế
Nhóm Dolphin{anty} 🐬
Nhóm khối này được thiết kế để tương tác với các chức năng của Dolphin {anty} ở bên ngoài hồ sơ.

- Thay đổi trạng thái hồ sơ - đặt Trạng thái cho hồ sơ trình duyệt, có thể đặt ở bất kỳ giai đoạn nào, ví dụ sau khi đổ traffic hoặc hoàn tất thao tác cần thiết, bạn có thể chỉ định trạng thái "Hoàn thành".
- Thay đổi ghi chú hồ sơ - đặt ghi chú cho hồ sơ trình duyệt, có thể đặt ở bất kỳ giai đoạn nào. Ví dụ, trước khi bắt đầu farm, bạn có thể viết "tên đăng nhập và mật khẩu tài khoản FB" vào ghi chú.
Nhóm Tiện ích mở rộng 🧩
Tiện ích mở rộng — nhóm khối này chứa các hành động để tương tác với các tiện ích mở rộng đã cài trên trình duyệt Chrome. Nó cho phép mở popup của tiện ích, nhấp vào các phần tử bên trong, nhập văn bản và lấy dữ liệu.

- Mở popup tiện ích - mở cửa sổ popup của một tiện ích Chrome đã chỉ định. Bạn cần cung cấp ID của tiện ích (một chuỗi 32 ký tự). Tùy chọn, bạn có thể đặt một CSS selector để chờ sau khi mở, và thời gian chờ tính bằng mili giây (mặc định: 10000).
- Nhấp trong tiện ích - thực hiện một cú nhấp vào phần tử bên trong popup của tiện ích. Bạn chỉ định ID của tiện ích, nút chuột (Trái / Phải / Giữa) và loại selector (XPath, CSS hoặc Text).
- Nhập trong tiện ích - nhập văn bản vào một trường bên trong popup của tiện ích. Bạn chỉ định ID của tiện ích, loại selector (XPath hoặc CSS), văn bản cần nhập, độ trễ giữa các lần gõ phím tính bằng mili giây (mặc định: 50), và cũng có tùy chọn xóa trường trước khi nhập.
- Lấy văn bản từ tiện ích - đọc văn bản từ một phần tử đã chỉ định bên trong popup của tiện ích và lưu nó vào một biến. Bạn chỉ định ID của tiện ích, loại selector (XPath hoặc CSS) và biến đầu ra.
- Đóng popup tiện ích - đóng popup của một tiện ích đã chỉ định. Nếu bạn để trống trường ID - tất cả popup của tiện ích đang mở sẽ được đóng cùng lúc.
- Chờ phần tử tiện ích - chờ một phần tử cụ thể xuất hiện bên trong popup của tiện ích. Bạn chỉ định ID của tiện ích, loại selector (XPath hoặc CSS), trạng thái chờ (Visible / Hidden / Attached) và thời gian chờ tính bằng mili giây (mặc định: 10000).
- Lấy danh sách tiện ích - lấy danh sách tất cả các tiện ích đã cài và lưu vào biến đã chỉ định.
- Phần tử tiện ích tồn tại - kiểm tra xem một phần tử đã chỉ định có tồn tại bên trong popup của tiện ích hay không. Bạn chỉ định ID của tiện ích và loại selector (XPath hoặc CSS). Hoạt động rất tốt cùng với khối "Nếu" để rẽ nhánh kịch bản theo đường xanh hoặc đỏ.
- Tìm tiện ích - tìm một tiện ích theo tên trong số các tiện ích đã cài và lưu ID của nó vào một biến. Hỗ trợ bốn kiểu tìm: Contains, Exact match, Starts with, Ends with. Dùng khối này, bạn có thể tìm ID của tiện ích mình cần một cách động, mà không cần cố định nó trong mọi kịch bản.
Nhóm Cửa sổ bật lên 🪟
Cửa sổ bật lên — các hành động để làm việc với cửa sổ popup của trình duyệt. Cho phép chuyển đổi giữa các cửa sổ, đóng chúng và chờ chúng xuất hiện.

- Chuyển sang popup - chuyển tiêu điểm của trình duyệt sang một cửa sổ popup đang mở. Ví dụ, sau khi nhấp vào một liên kết mở ra cửa sổ mới - khối này cho phép bạn tiếp tục làm việc bên trong nó.
- Đóng popup - đóng cửa sổ popup hiện tại của trình duyệt.
- Chờ popup - chờ một cửa sổ popup xuất hiện trước khi chuyển sang hành động tiếp theo. Ví dụ, dùng khối này khi việc nhấp vào một nút được kỳ vọng sẽ mở ra cửa sổ mới và bạn cần chờ nó trước khi chuyển sang.
Nhóm Khác 🌌
Khác - nhóm này gồm các hành động không thuộc những nhóm trên. Bạn có thể thêm vòng lặp xử lý dữ liệu hoặc làm ngẫu nhiên hành động của bot (ví dụ, chèn các khoảng tạm dừng) để kịch bản trông tự nhiên nhất có thể, mô phỏng hành vi của một người dùng thật.

- Tạm dừng - tạo một khoảng trễ trước khi khối tiếp theo được thực thi, mô phỏng hành vi của người dùng thật. Ví dụ: bạn có thể cần chờ một nút xuất hiện trên trang hoặc chờ nhận mã SMS từ trang web.
- Nếu - nếu điều kiện đã chỉ định là True, hành động đi theo sợi chỉ xanh. Nếu False, tức là không, thì đi theo sợi chỉ đỏ. Ví dụ: cần tìm các trang Instagram đăng nhiều bài. Để làm điều đó, sau khi kịch bản đã đếm số ảnh trên trang, một khối "Nếu" được tạo với điều kiện sau:
NumberPhotos > 5. Nếu giá trị của biến "Số ảnh" lớn hơn năm (ví dụ 6, 10, 49), kịch bản sẽ tiếp tục theo nhánh xanh. Nếu giá trị của biến nhỏ hơn hoặc bằng năm (ví dụ 1, 4, 5, -20), kịch bản sẽ đi theo nhánh đỏ. - Đánh giá - bạn có thể nhập bất kỳ code JS nào của mình và nó sẽ được thực thi.
- Cho mỗi - được thực thi cho từng phần tử của mảng (mảng chỉ có thể lấy được qua chức năng Đọc tệp).
Ví dụ: Ba truy vấn tìm kiếm được chỉ định trong tệp, và nhiệm vụ là mở ba tab Google với kết quả tìm kiếm cho những dữ liệu này. Khối "Đọc tệp" chỉ định tệp chứa dữ liệu theo dòng:
1
2
3
Tiếp theo, vòng lặp chỉ định biến đầu ra từ khối "Đọc tệp" và tạo một biến cho một phần tử, ví dụ
element. Hành động "Tab mới" chỉ định URLhttps://google.com?q=${element}, trong đó?q=${element}là cách dùng biến cho một phần tử từ vòng lặp. Sau khi thoát khỏi vòng lặp, hai đường dẫn được chỉ định dẫn tới cùng một hành động. Sau đó bạn có thể tiếp tục với bất kỳ hành động mong muốn nào. Điều quan trọng cần lưu ý là khi dùng các dòng trong khối "Đọc tệp", các dòng được xử lý từ cuối văn bản.

- Trong khi - kiểm tra điều kiện trước mỗi lần lặp. Nếu điều kiện được đáp ứng, nó đi theo sợi chỉ đỏ, nếu không được đáp ứng, nó đi theo sợi chỉ xanh. Ví dụ: để farm bạn cần mở 4 tab riêng biệt nhưng giống hệt nhau và tìm dữ liệu ngẫu nhiên trong đó, ví dụ Tên. Sau khi kết thúc, kịch bản sẽ thoát khỏi vòng lặp và tiếp tục các hành động đã chỉ định.
- Cho - kiểm tra điều kiện trước mỗi lần lặp, được thực thi đúng số lần cần thiết, ví dụ 5 lần liên tiếp. Nghĩa là trong chính vòng lặp bạn cần đặt giá trị từ 1 đến 5, rồi lặp hành động Tải tệp xuống và chỉ định đầu ra từ vòng lặp cho các hành động tiếp theo.
Các vòng lặp Cho mỗi (Foreach), Trong khi (While) và Cho (For) là gì và chúng khác nhau thế nào, bạn có thể xem tại đây.
- Thêm bình luận - tạo một ô bình luận trên khu vực làm việc cho các bình luận có thể đặt cạnh khối mong muốn.
- Dừng - đóng hồ sơ trình duyệt sau khi tất cả các hành động đã chỉ định được thực hiện. Với Dừng bạn cần đặt Sợi chỉ đỏ.
Sau khi đã phân tích tất cả các hành động, hãy xem cách dựng kịch bản nhỏ đầu tiên của bạn và chạy nó trên nhiều hồ sơ cùng lúc.
Kịch bản đầu tiên của tôi 😎
Làm ví dụ, hãy xem trình clicker cho vòi Bitcoin https://freebitco.in/. Cho tới giờ, tất cả những gì kịch bản cần làm là nhấp vào nút Roll mỗi giờ một lần và tài khoản của bạn sẽ được cộng satoshi. Trong trường hợp này bạn không cần vượt captcha, nút chỉ đơn giản là khả dụng mỗi giờ một lần.
Cần nhấn mạnh rằng đây chỉ là một ví dụ, nhưng thông tin trong bài viết này có thể dùng để tạo bất kỳ kịch bản nào khác.

- Đầu tiên, thêm hành động Mở URL. Bạn cần nhấp vào nó, sao chép toàn bộ địa chỉ từ thanh địa chỉ của trình duyệt (https://freebitco.in/).

- Nối khối đầu tiên với vòng tròn xanh lá Start.
- Ở bước này, bạn đã có thể chạy kịch bản - và thấy một URL mới với địa chỉ bạn đã nhập tự động mở ra sau khi trình duyệt tải xong.

Bạn có thể chạy kịch bản trên một bản sao trình duyệt "trống" hoặc chọn một trong các hồ sơ của mình từ danh sách.
- Khi vào trang web mà chưa đăng nhập, sau vài giây một cửa sổ bật lên sẽ xuất hiện - bạn có thể loại bỏ nó bằng cách nhấp chuột trái vào bất kỳ đâu bên ngoài cửa sổ đó. Hãy thêm hành động Tạm dừng rồi tới hành động Nhấp.
Thời gian tạm dừng phù hợp có thể tính thủ công, điều chính cần nhớ là giá trị được chỉ định bằng mili giây (với ví dụ này chúng ta lấy 5000).
Để thực hiện một cú nhấp, bạn có thể chọn tùy chọn "nút trái" và "tọa độ". Trong trường hợp này, bạn có thể nhập tọa độ ngẫu nhiên (Y150 X150), điều chính là cú nhấp được thực hiện bên ngoài cửa sổ bật lên và nó biến mất.
Bạn có thể tự xác định tọa độ bằng các tiện ích mở rộng của bên thứ ba.

- Cửa sổ bật lên đã biến mất, và giờ bạn cần đăng nhập. Hoặc bạn có thể đã đăng nhập sẵn trên trang này, khi đó bạn có thể chuyển thẳng sang mục tiếp theo.
Bạn cần nhấp vào trường email, nhập tên đăng nhập/email vào đó, rồi nhấp vào trường mật khẩu, nhập mật khẩu của bạn, sau đó nhấp vào nút đăng nhập. Tổng cộng có 5 khối hành động.
Để robot nhấp vào một phần tử nhất định, bạn cần chỉ rõ đó là phần tử nào. Có thể xảy ra trường hợp phần tử không phải lúc nào cũng ở cùng một chỗ, nên tọa độ sẽ không giúp được. Chúng ta sẽ dùng selector "XPath" - bạn có thể sao chép nó từ console của trình duyệt trước.
Sao chép XPath của phần tử vào hành động "nhấp" trong trình dựng, và nó sẽ nhấp đúng vào trường đó.

Trường đã được kích hoạt và chúng ta cần nhập email của mình. Chọn hành động Nhập văn bản và nhập email vào đó.
Làm tương tự với trường mật khẩu. Chúng ta chọn phần tử XPath của nút Sign Up, và vào được trang chính.
Ngoài ra, phần tử XPath có thể không phải lúc nào cũng cố định - thay vào đó, bạn có thể dùng tùy chọn CSS hoặc Text (chỉ định phần tử chứa văn bản đã nhập). Tất cả những điều này cũng có thể xem qua console của trình duyệt.
- Bây giờ tới trang chính. Tất cả những gì bạn cần làm là nhấp nút Roll, và thao tác mong muốn sẽ được thực hiện. Chọn lại khối "Nhấp", sao chép XPath của nút Roll, nối nó với hành động trước đó và xong - nút đã được nhấn.

Bạn có thể tự động hóa nhiều thao tác khác theo cách này - chắc chắn còn có những trường hợp tương tự khác.