Selenium đợi Python
Đợi một trang tải bằng Selenium Python. Trong bài viết này, bạn sẽ học cách làm điều đó. Đó là một chút phản trực giác Show
Selenium cho phép bạn tự động hóa trình duyệt nhưng không cần thời gian. ngủ để chờ tải trang hoàn tất. Trên thực tế, nó hoạt động khác với những gì bạn mong đợi khóa học liên quan
ví dụSelenium chờ tải trangKhối mã bên dưới chỉ cho bạn cách chờ tải trang hoàn tất. Nó sử dụng thời gian chờ. Nó đợi một phần tử hiển thị trên trang (bạn cần có id phần tử) Sau đó, nếu trang được tải, nó sẽ hiển thị trang được tải. Nếu khoảng thời gian chờ (tính bằng giây) đã trôi qua, nó sẽ hiển thị lỗi hết thời gian chờ Hướng dẫn này sẽ hướng dẫn bạn khái niệm về Selenium Webdriver waits (Implicit and Explicit Waits) và cách sử dụng chúng trong Python Nếu bạn đang thực hiện tự động hóa trong Selenium Python và muốn viết các tập lệnh không có lỗi, thì bạn phải học cách sử dụng tính năng chờ. Chúng cho phép bạn xử lý mọi tình huống không mong muốn có thể xảy ra Trong khi tự động hóa một ứng dụng web, bạn dự định viết một tập lệnh có thể thực thi các tác vụ sau Nhấp vào đây để quay lại hướng dẫn chính về Selenium Python
Tuy nhiên, tập lệnh kiểm tra đôi khi có thể bị lỗi do những lý do sau
Trong những trường hợp này, chúng tôi cần đợi thời gian cho phép các phần tử web tải hoàn toàn trước khi sử dụng chúng trong các thử nghiệm của mình. Webdriver API cung cấp hai loại cơ chế chờ để xử lý các điều kiện như vậy. Chúng ta sẽ thảo luận chi tiết về các điều kiện chờ này Trình điều khiển web Selenium chờ trong PythonHai loại chờ Selenium Webdriver là
Chờ đợi tiềm ẩnChờ đợi ngầm chỉ đạo WebDriver thăm dò DOM trong một khoảng thời gian nhất định (như đã đề cập trong lệnh) khi cố gắng xác định vị trí một phần tử không hiển thị ngay lập tức. Giá trị thời gian mặc định có thể được đặt bằng cách sử dụng Chờ ngầm định bằng không. Đơn vị tính bằng giây. Chờ đợi ngầm định vẫn được liên kết với phần tử web cho đến khi nó bị hủy Thực hiện theo đoạn mã dưới đây minh họa việc sử dụng Chờ ẩn trong Python
Trong đoạn mã trên, phương thức implicitly_wait() yêu cầu Webdriver thăm dò DOM nhiều lần trong một khoảng thời gian nhất định. Thời gian chờ trong ví dụ này là 100 giây sẽ kích hoạt nếu phần tử đích không khả dụng trong khoảng thời gian đó Chúng tôi định nghĩa Chờ đợi ngầm định cho một đối tượng Webdriver để nó sẽ duy trì hoạt động cho đến khi đối tượng đó tồn tại chờ đợi rõ ràngCó thể xảy ra các tình huống khi thời gian chờ đợi không chắc chắn. Rõ ràng chờ đợi làm việc như một vị cứu tinh ở đó. Ở đây chúng ta có thể xác định một số điều kiện nhất định và Selenium WebDriver sẽ tiến hành thực hiện bước tiếp theo chỉ sau khi điều kiện này được đáp ứng Chờ đợi rõ ràng là cách ưa thích nhất để triển khai Selenium webdriver chờ đợi trong tập lệnh thử nghiệm. Nó cung cấp sự linh hoạt để chờ một điều kiện tùy chỉnh xảy ra và sau đó chuyển sang bước tiếp theo Sau đây là hai lớp Selenium Python cần thiết để triển khai các chờ đợi rõ ràng
Để hiểu cách sử dụng của nó, hãy lấy một ví dụ về cảnh báo JavaScript đơn giản trên trang web. Một nút hiện diện trên trang web để kích hoạt cảnh báo đó Một trong những trường hợp sử dụng sẽ là nhấp vào nút và xác minh rằng nó kích hoạt cảnh báo khi không. Sử dụng thời gian chờ Rõ ràng với các điều kiện Dự kiến WebDriver sẽ chỉ đợi thời gian cho đến khi JavaScript đơn giản không hiển thị trên màn hình. Ngay khi nó xuất hiện, WebDriver sẽ chuyển sang thực hiện bước tiếp theo Tuy nhiên, nếu cảnh báo không xuất hiện cho đến khi thời gian chờ tối đa được xác định trong thời gian chờ rõ ràng, Webdriver sẽ đưa ra một “NoAlertPresentException. ” Đây là mã HTML để tạo cảnh báo đơn giản bằng JavaScript
|