Tselenium Explanation

Get Started

Sử dụng Chrom Portable (Tốt nhất)

  • Sử dụng Chrome Portable là tốt nhất, vì selenium hoạt động khi mà chromedriver và trình duyệt phải cùng một version, mà vấn đề là trình duyệt Chrome thông thường thì nó sẽ cập nhất rất thường xuyên, và nó sẽ tự động update, mỗi lần update ta cần phải tìm bản chromedriver có version tương ứng sẽ rất mất công. Cách tốt nhất là ta sẽ tìm tới Chrome Portable.
  • Với Chrome Portable, ta sẽ có thể tìm tới version cố định, ví dụ, ta tìm bản Chrome Portable có version 136, thì nó sẽ giữ nguyên version này, mà không có update gì thêm.

Cách tải Chrome Portable

  1. Truy cập vào -> https://portableapps.com/de/apps/internet/google_chrome_portable, trang này sẽ có bản Chrome Portable mới nhất, nếu muốn tìm bản cụ thể nào đó bạn hãy search google cụ thể hoặc có thể vào repo của mình, mình có thu thập 1 số Chrome Portable -> https://github.com/nguyentantaitcag2000/chrome-portable-collection (mình có đính kèm thêm phần chromedriver luôn rồi)
  2. Sau khi tải về xong xong, ta sẽ có 1 file paf.exe, hãy thực thi file này để cài đặt, trong quá trình cài đặt sẽ có bước chọn nơi lưu, folder được save lại sau quá trình cài đặt sẽ đại diện cho 1 trình duyệt chrome độc lập, folder này có tên là GoogleChromePortable. Trong đây có file quan trọng, đó là ChromePortable\App\Chrome-bin\chrome.exe, đây gọi là BinaryLocation, cần phải chỉ định nó cho Selenium hiểu để có thể chạy được Chrome Portable.

Cách sử dụng

  • Giả sử folder Chrome Portable của tôi có đường dẫn D:\Chrome Portable\136\GoogleChromePortable.
  • Bạn cần download chromedriver.exe và đặt nó nằm ở D:\Chrome Portable\136
  • Sau đó bạn có thể dùng code sau để mở Chrome Portable này:
string testerName = "testing_editor";
string pathChromePortable = $@"D:\Chrome Portable\136\GoogleChromePortable";
string pathProfile = $@"D:\Chrome Portable\136\Profiles\" + testerName;
Tester tester = browser
                .maximize()
                .setChromePortable(pathChromePortable)
                .openProfilePortable(pathProfile, "0,0", "https://lazycodet.com", false);