Sự khác nhau giữa close() và quit() trong Selenium

248

Bài viết được sự cho phép của tác giả Tô Thị Vân Anh

Bài mở đầu khi học Selenium – không tính mấy bài lý thuyết thì chắc chắn bạn sẽ được biết đến dòng lệnh driver.close() hay driver.quit() để đóng trình duyệt sau khi đã làm xong một vài tác vụ tự động như đăng nhập vào một trang web nào đó hay chỉ đơn giản là sau khi mở được một số trang web nào đó với Selenium.

  Các kiểu “đợi chờ” trong Selenium Webdriver: Implicit wait, Explicit wait và Fluent wait
  Làm quen: Tóm tắt cơ bản về Selenium

Thế bạn có tự hỏi là hai cái này khác nhau như thế nào chưa? Nó đều có mục đích là để đóng trình duyệt, dùng cái nào chả như nhau, vậy thì tại sao lại cần tách ra là close() và quit() để làm gì? Có bí ẩn gì đằng sau hai lệnh này hay không?

Bạn đã từng tra cứu Google để tìm ra câu trả lời chưa? :)) Nếu đã tra cứu rồi thế câu trả lời của họ đã làm bạn thỏa mãn chưa? :v Nếu chưa hi vọng bài này của mình sẽ giúp bạn thỏa mãn được chút nào đó! kaka

Câu trả lời cũng chẳng có gì cao siêu đâu, cơ bản là ghi chú lại cho nhớ, với cả nhỡ đâu vẫn có bạn nào đi tìm câu trả lời cho vấn đề này thì sao, biết đâu đấy lại tìm trúng bài này :v

close()

close() là một command của Webdriver để thực hiện đóng trình duyệt mà bạn đang trực tiếp sử dụng, hay đang tương tác lên nó. Có nghĩ là nếu như có nhiều hơn một trình duyệt đang được mở bởi Selenium, khi bạn sử dụng command close() này thì nó sẽ chỉ đóng cái trình duyệt mà tại thời điểm gọi command, bạn đang focus vào mà thôi, những trình duyệt còn lại khác thì sẽ không được đóng nhé!

quit()

Trong khi đó, bên cạnh command  close(), có một Webdriver command khác là quit(), quit() sẽ thực hiện tắt toàn bộ Webdriver hiện thời. Có nghĩa là toàn bộ các trình duyệt ( số lượng các trình duyệt này có thể nhiều hơn 1) đang sử dụng được bật bởi Selenium sẽ được đóng lại ngay sau khi lệnh quit() được gọi.

Cả close() và quit() đều sẽ thực hiện công việc đóng trình duyệt giống nhau nếu như Selenium chỉ đang bật và sử dụng một trình duyệt duy nhất. Sự khác nhau sẽ thể hiện rõ ràng nếu như có hai trình duyệt được mở đồng thời trở lên bởi Selenium.

Tùy tình huống và yêu cầu sử dụng các bạn có thể lựa chọn command cho phù hợp nhé.

Các bạn có thể tham khảo thêm bản tiếng anh đầy đủ ở dưới đây:D

https://selenium-by-arun.blogspot.com/2017/04/386-difference-between-close-and-quit.html

Bài viết gốc được đăng tải tại vananhtooo.wordpress.com

Có thể bạn quan tâm:

Xem thêm Việc làm Developer hấp dẫn trên TopDev