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

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

Bài mở đầu khi học Selenium 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.
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()quit() để làm gì? Các bạn cùng theo phân tích dưới đây nhé.

I. 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é!

II. 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.

III. Kết luận

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é.