Cách khắc phục sự cố kết nối WebDriver
Cố gắng tự động hóa một Multilogin browser profile với Selenium, nhưng script của bạn không kết nối được? Đầu tiên, hãy kiểm tra xem profile đã khởi động thành công và script của bạn đang sử dụng cổng kết nối đúng.
➡️ Trong script của bạn, tìm yêu cầu “Start Browser Profile” → kiểm tra automation_type=selenium → lấy data.port từ phản hồi → kết nối bằng webdriver.Remote.
Multilogin sử dụng Remote WebDriver để kết nối Selenium với profile trình duyệt Mimic đang chạy của bạn. Nếu bạn sử dụng webdriver.Chrome() thay vào đó, Selenium sẽ khởi động một trình duyệt riêng thay vì kết nối với profile Multilogin của bạn.
Kiểm tra khởi động profile trình duyệt của bạn
Trước khi khắc phục sự cố Selenium, hãy đảm bảo Multilogin có thể khởi động profile trình duyệt của bạn. Nếu profile không khởi động, sẽ không có gì để script của bạn kết nối đến.
Kiểm tra những chi tiết này:
- Multilogin đang chạy: đảm bảo ứng dụng desktop đang mở
- ID profile ID là chính xác: kiểm tra rằng bạn đang sử dụng đúng thư mục ID và profile ID
- Token API là hợp lệ: đảm bảo yêu cầu của bạn bao gồm một token đang hoạt động
- Endpoint là chính xác: sử dụng yêu cầu “Start Browser Profile”
-
Tự động hóa đã được bật: đặt
automation_type=selenium
Dưới đây là một ví dụ về yêu cầu khởi động:
GET https://launcher.mlx.yt:45001/api/v2/profile/f/{folder_id}/p/{profile_id}/start?automation_type=selenium&headless_mode=falseThay thế {folder_id} và {profile_id} bằng các ID thực tế của bạn.
Khi yêu cầu thành công, Multilogin sẽ khởi động profile trình duyệt Mimic của bạn và trả về các chi tiết kết nối của nó, bao gồm data.port.
Kết nối Selenium với profile trình duyệt Mimic của bạn
Khi profile của bạn đang chạy, Selenium cần kết nối với phiên trình duyệt đó.
Sử dụng webdriver.Remote với cổng được trả về bởi Multilogin. Vì Mimic dựa trên Chromium, bạn cũng sẽ cần ChromiumOptions().
Dưới đây là cách mà kết nối trông như thế nào trong Python:
from selenium import webdriverfrom selenium.webdriver.chromium.options import ChromiumOptionsdriver = webdriver.Remote( command_executor=f"http://127.0.0.1:{port}", options=ChromiumOptions())Ở đây, port là giá trị được trả về trong data.port khi bạn khởi động profile.
Một vài điều cần lưu ý:
- Sử dụng cổng mới nhất: nó có thể thay đổi khi bạn khởi động lại một profile, vì vậy đừng mã hóa cứng nó vào script của bạn
- Chờ profile khởi động: chỉ kết nối sau khi API xác nhận rằng yêu cầu khởi động đã thành công
- Giữ cho profile đang chạy: Selenium cần một phiên trình duyệt đang hoạt động để kết nối tới
Bạn không cần một máy tính khác để sử dụng Remote WebDriver. Kết nối chạy cục bộ qua 127.0.0.1.
Bạn cũng không cần khởi động một ChromeDriver riêng biệt hoặc tự tay khớp phiên bản của nó với Mimic. Multilogin khởi động phiên trình duyệt và cung cấp cho Selenium cổng kết nối.
Kiểm tra cài đặt tường lửa và phần mềm diệt virus của bạn
Nếu profile trình duyệt của bạn khởi động nhưng Selenium vẫn không thể kết nối, tường lửa hoặc phần mềm diệt virus của bạn có thể đang chặn kết nối cục bộ.
Dưới đây là những gì cần thử:
- Kiểm tra xem tường lửa hoặc phần mềm diệt virus của bạn có đang chặn các kết nối cục bộ không
-
Đảm bảo rằng các kết nối giữa script của bạn và Multilogin được phép qua
127.0.0.1và cổng được trả về - Chạy lại script của bạn để xem kết nối có hoạt động không
Bạn không cần phải tắt phần mềm bảo mật của mình. Kiểm tra cài đặt của nó và thêm một ngoại lệ nếu cần.
Kiểm tra các vấn đề kết nối khác có thể xảy ra
Vẫn gặp lỗi? Một vài điều khác có thể ngăn script của bạn kết nối:
- API lỗi: kiểm tra trạng thái và nội dung phản hồi để biết chi tiết về những gì đã sai
- Xác thực: đảm bảo rằng token API của bạn chưa hết hạn
- Truy cập profile: kiểm tra rằng vai trò workspace của bạn cho phép bạn khởi động profile
- Multilogin logs: tìm kiếm các lỗi có thể giải thích lý do tại sao trình duyệt không thể khởi động hoặc kết nối
Nếu bạn không chắc rằng script của mình đã được thiết lập đúng, hãy so sánh nó với Selenium ví dụ tự động hóa.
Bạn cũng có thể kiểm tra Multilogin API tài liệu để biết các tham số yêu cầu cần thiết và chi tiết phản hồi.