Selenium webdriver: sự khác nhau giữa get() và navigate().to()
Bài viết được sự cho phép của tác giả Tô Thị Vân Anh
Để đáp ứng đủ số lượng bài viết – mục tiêu đã đặt ra từ hồi đầu năm, mà nay thì đã là tuần thứ 20 – tức là nửa cuối của tháng 5 rồi, nên mình phải gấp rút chuẩn bị từ bây giờ ( -.- thật là biết nhìn xa trông rộng quá đi :v ), và vì vậy thì mình không thể lười thêm nữa. Hễ có ý tưởng là mình sẽ gõ ngay và luôn, như bài này chẳng hạn. Tất cả chỉ là sự tình cờ và mình chưa hề có ý định là sẽ nói về cái này!
Không lan man nữa, bài viết hôm nay sẽ cùng các bạn làm sáng tỏ sự khác nhau giữa hai method get() và navigate() trong Selenium nhé.
get(“URL”)
Một method vô cùng, vô cùng quen thuộc với tất cả chúng ta là get(“url”), ở đây bạn sẽ đưa vào đường dẫn của trang web, ứng dụng web mà bạn muốn mở nó lên thông qua selenium, ví dụ:
driver.get(“http://www.google.com”😉
Tức là khi bạn đưa câu lệnh trên vào thì sau khi trình duyệt được bật lên, nó sẽ đi đến ngay trang web đấy. Ok chỗ này rồi nhé. Với method GET này thì nó sẽ tải về toàn bộ trang web, page source hay text của trang web đó. Method này nó sẽ chờ cho đến khi toàn bộ dữ liệu của trang web được lấy xuống trước khi quay trở lại thực hiện các bước tiếp theo trong script của chúng ta. Tuy nhiên sẽ gặp phải rắc rối khi mà trang web sử dụng nhiều AJAX thì Webdriver khó có thể xác định được là việc load đấy đã được hoàn thành hay chưa, và giải pháp cho vấn đề này chính là sử dụng Wait.
navigate().to(“URL”)
Và như bạn đã thấy là để thực hiện điều hướng đến một trang web ta sử dụng câu lệnh get (driver.get(“http://www.example.com“)), và nó cũng đơn giản chỉ là một cách viết khác của câu lệnh này mà thôi:
driver.navigate().to(“http://example.com”😉
Nhấn mạnh với các bạn rằng hai method get() và navigate().to() thực hiện một việc giống y như nhau. Khác nhau là một cái được viết nhanh gọn hơn cái kia mà thôi. Nhớ đoạn này để còn đi phỏng vấn nhỡ đâu được hỏi!
Navigate interface cũng có mở rộng hỗ trợ chúng ta có thể điều hướng từ trang web hiện tại quay lại trang web trước đó, hoặc sau đó với method và cú pháp như sau:
driver.navigate().forward();
driver.navigate().back();
Tặng thêm các bạn hình này, dịch được thì tốt nhé, tóm lại là ý nghĩa của thằng get() và navigate().to() là như nhau :v
Các bạn cũng có thể tham khảo trên hướng dẫn của Selenium theo đường dẫn này https://docs.seleniumhq.org/docs/03_webdriver.jsp nhé!
Đây là đoạn mà mình tìm được:
Lười dịch thì chỉ cần chú ý câu này “navigate().to() and “get()” do exactly the same thing“. thế là được nhé. Tại sao người ta dùng get() nhiều hơn, và tại sao dường như nó phổ biến hơn? Thì tại vì gõ từ get nhanh hơn =))
Chúc các bạn đầu tuần vui vẻ nhé! Mùa hè đã chính thức bắt đầu, đừng vì nóng quá mà bỏ bê học hành nhé! hehe
Bài viết gốc được đăng tải tại vananhtooo.wordpress.com
Có thể bạn quan tâm:
- Xử lý SSL Certificate trong Selenium WebDriver
- Sự khác nhau giữa close() và quit() trong Selenium
- Điểm qua các kiểu navigator của thư viện react-navigation
Xem thêm Việc làm Developer hấp dẫn trên TopDev
- B BenQ RD Series – Dòng Màn Hình Lập Trình 4k+ Đầu Tiên Trên Thế Giới
- i iOS 18 có gì mới? Có nên cập nhật iOS 18 cho iPhone của bạn?
- G Gamma AI là gì? Cách tạo slide chuyên nghiệp chỉ trong vài phút
- P Power BI là gì? Vì sao doanh nghiệp nên sử dụng PBI?
- K KICC HCMC x TOPDEV – Bước đệm nâng tầm sự nghiệp cho nhân tài IT Việt Nam
- T Trello là gì? Cách sử dụng Trello để quản lý công việc
- T TOP 10 SỰ KIỆN CÔNG NGHỆ THƯỜNG NIÊN KHÔNG NÊN BỎ LỠ
- T Tìm hiểu Laptop AI – So sánh Laptop AI với Laptop thường
- M MySQL vs MS SQL Server: Phân biệt hai RDBMS phổ biến nhất
- S SearchGPT là gì? Công cụ tìm kiếm mới có thể đánh bại Google?