Tùy chọn Chrome & Khả năng mong muốn trong Selenium
⚡ Tóm tắt thông minh
Các tùy chọn Chrome và các tính năng mong muốn trong Selenium WebDriver kiểm soát cách trình duyệt Chrome khởi chạy và hoạt động trong các bài kiểm tra tự động. Chúng cùng nhau cấu hình các tham số, tiện ích mở rộng, xử lý SSL và cài đặt đa trình duyệt, giúp các lần chạy thử nghiệm linh hoạt, có thể lặp lại và sẵn sàng cho việc sử dụng. Selenium Thực thi trên lưới.

Lớp tùy chọn Chrome là gì?
Lớp tùy chọn Chrome là một khái niệm trong Selenium WebDriver để thao tác các thuộc tính khác nhau của trình điều khiển Chrome. Lớp tùy chọn Chrome thường được sử dụng cùng với Khả năng mong muốn để tùy chỉnh các phiên trình điều khiển Chrome. Nó giúp bạn thực hiện nhiều thao tác khác nhau như mở Chrome ở chế độ tối đa, tắt các tiện ích mở rộng hiện có, tắt cửa sổ bật lên, v.v.
Ví dụ:
Ví dụ dưới đây cho thấy cách mở trình duyệt Chrome ở chế độ tối đa bằng lớp ChromeOptions. Chúng ta cần chuyển một phiên bản của lớp ChromeOptions sang quá trình khởi tạo trình điều khiển web.
ChromeOptions options = new ChromeOptions() options.addArgument("start-maximized"); ChromeDriver driver = new ChromeDriver(options);
Dưới đây là danh sách các đối số có sẵn và được sử dụng phổ biến nhất cho lớp ChromeOptions
- bắt đầu tối đa hóa: Mở Chrome ở chế độ phóng to
- ẩn danh: Mở Chrome ở chế độ ẩn danh
- không đầu: Mở Chrome ở chế độ không đầu
- vô hiệu hóa tiện ích mở rộng: Tắt các tiện ích mở rộng hiện có trên trình duyệt Chrome
- vô hiệu hóa chặn cửa sổ bật lên: Vô hiệu hóa pop-up hiển thị trên trình duyệt Chrome
- tạo-mặc định-trình duyệt: Đặt Chrome làm trình duyệt mặc định
- phiên bản: In phiên bản trình duyệt Chrome
- vô hiệu hóa thanh thông tin: Ngăn Chrome hiển thị thông báo “Chrome đang bị phần mềm tự động điều khiển”
Lớp khả năng mong muốn
Lớp khả năng mong muốn được sử dụng để sửa đổi nhiều thuộc tính của trình điều khiển web. Nó cung cấp các cặp khóa-giá trị để thay đổi các thuộc tính riêng lẻ của trình điều khiển web như tên trình duyệt, nền tảng trình duyệt, v.v. Một phương thức phổ biến của lớp Khả năng mong muốn là phương thức setCapability. Nó chủ yếu được sử dụng với Selenium Grid, nơi cùng một trường hợp thử nghiệm cần được thực thi trên các trình duyệt khác nhau.
Ví dụ:
Ví dụ bên dưới cho thấy cách cho phép trình duyệt Chrome chấp nhận chứng chỉ SSL trên các trang web theo mặc định bằng cách sử dụng Khả năng mong muốn cho lớp Chrome.
// Create an object of desired capabilities class with Chrome driver DesiredCapabilities SSLCertificate = DesiredCapabilities.chrome(); // Set the pre defined capability – ACCEPT_SSL_CERTS value to true SSLCertificate.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); // Open a new instance of chrome driver with the desired capability WebDriver driver = new ChromeDriver(SSLCertificate);
Dưới đây là các loại khả năng được xác định trước được sử dụng phổ biến nhất.
| Tên khả năng | Mô tả Chi tiết |
|---|---|
| ACCEPT_SSL_CERTS | Thuộc tính này yêu cầu trình duyệt chấp nhận Chứng chỉ SSL theo mặc định |
| TÊN GA TÀU | Thuộc tính này được sử dụng để thiết lập nền tảng hệ điều hành được sử dụng để truy cập trang web |
| BROWSER_NAME | Thuộc tính này được sử dụng để đặt tên trình duyệt cho phiên bản trình điều khiển web |
| PHIÊN BẢN | Thuộc tính này được sử dụng để đặt phiên bản trình duyệt |
Tùy chọn Chrome cho tiện ích mở rộng Trình chặn quảng cáo
Tiện ích mở rộng Adblocker của trình duyệt Chrome có thể được xử lý bằng cách sử dụng ChromeDriver Options và Desired Capabilities class. Dưới đây là các bước để truy cập AdBlocker tiện ích mở rộng trên trình duyệt Chrome sử dụng lớp Khả năng mong muốn.
Bước 1) AdBlocktiện ích mở rộng er phải được cài đặt trên trình duyệt Chrome trước khi sử dụng lớp Tùy chọn Chrome
Bước 2) ExtracTệp CRX tương ứng với AdBlocktiện ích mở rộng er thông qua http://crxextractor.com/
Bước 3) Truyền đường dẫn Tệp CRX đã tải xuống vào lớp Tùy chọn Chrome
Bước 4) Khởi tạo trình điều khiển web bằng cách sử dụng lớp khả năng mong muốn và Tùy chọn Chrome trong Selenium vật
Ví dụ:
Ví dụ bên dưới minh họa cách kích hoạt tiện ích mở rộng trình chặn quảng cáo trên trình duyệt Chrome bằng cách sử dụng lớp Tùy chọn Chrome và Khả năng mong muốn.
ChromeOptions options = new ChromeOptions(); options.addExtensions(new File("Path to CRX File")); DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(ChromeOptions.CAPABILITY, options); ChromeDriver driver = new ChromeDriver(capabilities);
ExtracTệp CRX
Các bước dưới đây minh họa quy trình của ví dụtracTải xuống tập tin CRX thông qua trình chặn quảng cáo trên trang web – http://crxextractor.com/
Bước 1) Đến phần http://crxextractor.com/ và nhấp vào nút bắt đầu
Bước 2) Cài đặt tiện ích mở rộng Chrome – Ad Blocker URL bên dưới hộp văn bản. URL Bạn có thể tìm thấy Adblock trên Chrome Web Store tại đây. https://chrome.google.com/webstore/detail/adblock-%E2%80%94-best-ad-blocker/gighmmpiobklfepjocnamgkkbiglidom
và bấm vào đồng ý
Bước 3) Khi nhấp vào nút OK, nhãn của nút sẽ đổi thành Get .CRX như bên dưới. Bấm vào nút Get .CRX, file CRX tương ứng với đuôi mở rộng sẽ được tải xuống
Bước 4) Lưu tệp vào máy cục bộ, ghi chú đường dẫn đã lưu. Bước tiếp theo là chuyển đường dẫn đã lưu vào lớp Tùy chọn Chrome
Mâu Code:
- Bạn sẽ thấy quảng cáo tại https://demo.guru99.com/ như sau
- Với AdBlocker tiện ích mở rộng được bật trên quảng cáo trình duyệt Chrome sẽ bị tắt
package adblock; import java.io.File; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.remote.DesiredCapabilities; public class AdblockDemo { public static void main(String[] args) { System.setProperty("webdriver.chrome.driver","X://chromedriver.exe"); ChromeOptions options = new ChromeOptions(); options.addExtensions(new File("X://extension_3_40_1_0.crx")); DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(ChromeOptions.CAPABILITY, options); options.merge(capabilities); ChromeDriver driver = new ChromeDriver(options); driver.get("https://demo.guru99.com/test/simple_context_menu.html"); driver.manage().window().maximize(); //driver.quit(); } }
Code Giải thích:
- Ban đầu, bạn cần đặt đường dẫn đến tệp chromedriver.exe bằng phương thức thuộc tính set vì bạn đang sử dụng Trình duyệt Chrome để kiểm tra
- Bạn cần đặt đường dẫn đến Tệp CRX để thêm phương thức tiện ích mở rộng
- Sau đó, bạn cần tạo một đối tượng Khả năng mong muốn của Chrome trong Selenium class và chuyển nó tới phiên bản trình điều khiển web. Từ Selenium Phiên bản 3.8.1, lớp khả năng của trình điều khiển không được dùng nữa và bạn cần hợp nhất đối tượng khả năng với đối tượng Tùy chọn Chrome trước khi chuyển đối tượng tương tự làm đối số cho hàm tạo Trình điều khiển Chrome
- Mở URL – https://demo.guru99.com/test/simple_context_menu.html đã bật tiện ích Trình chặn quảng cáo
- Phóng to và đóng trình duyệt
LƯU Ý: Chúng tôi đang kích hoạt AdBlocker tiện ích mở rộng trên trình duyệt Chrome thông qua tập lệnh tự động hóa thay vì bật thủ công tiện ích Adblocker trên trình duyệt Chrome. Tệp CRX là một cách để truy cập tiện ích mở rộng trình chặn quảng cáo bằng tập lệnh tự động hóa
Đầu ra:
Trình duyệt Chrome sẽ được kích hoạt với AdBlocktiện ích mở rộng er được bật như bên dưới mà không có bất kỳ quảng cáo nào
Ngoài việc tải các tiện ích mở rộng, ChromeOptions còn kiểm soát cách thức hoạt động của cửa sổ trình duyệt.
Tùy chọn Chrome cho chế độ Ẩn danh
Tùy chọn Chrome có thể được sử dụng cho chế độ ẩn danh bằng cách sử dụng đối số được xác định trước –ẩn danh.
Dưới đây là mã mẫu để thực hiện tương tự.
Mâu Code:
package test; import java.io.File; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.remote.DesiredCapabilities; public class Incognito{ public static void main(String[] args) { // TODO Auto-generated method stub System.setProperty("webdriver.chrome.driver","X://chromedriver.exe"); ChromeOptions options = new ChromeOptions(); options.addArguments("--incognito"); DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(ChromeOptions.CAPABILITY, options); options.merge(capabilities); ChromeDriver driver = new ChromeDriver(options); driver.get("https://demo.guru99.com/test/simple_context_menu.html"); driver.manage().window().maximize(); //driver.quit(); } }
Code Giải thích:
- Ban đầu, bạn cần đặt đường dẫn đến tệp chromedriver.exe bằng phương thức thuộc tính set vì bạn đang sử dụng Trình duyệt Chrome để kiểm tra
- Sau đó, bạn cần tạo một đối tượng của lớp Tùy chọn Chrome và chuyển nó sang phiên bản trình điều khiển web. Vì chúng ta muốn mở trình duyệt Chrome ở chế độ ẩn danh nên bạn cần chuyển đối số –incognito cho lớp Tùy chọn Chrome.
- Tiếp theo, tạo một đối tượng của lớp Khả năng mong muốn và hợp nhất đối tượng lớp Khả năng mong muốn với đối tượng lớp Tùy chọn Chrome bằng phương thức hợp nhất
- Bạn cần tạo một đối tượng của lớp Trình điều khiển Chrome và truyền đối tượng Tùy chọn Chrome làm đối số
- Cuối cùng, chúng ta cần phải vượt qua URL – https://demo.guru99.com/test/simple_context_menu.html đến phương thức driver.get
- Phóng to và đóng trình duyệt
Đầu ra:
Cửa sổ trình duyệt chrome sẽ được mở ở chế độ Ẩn danh như bên dưới
Tùy chọn Chrome cho Chrome không đầu
Trình duyệt không đầu chạy ở chế độ nền. Bạn sẽ không thấy GUI của trình duyệt hoặc các thao tác được thực hiện trên đó.
Tùy chọn Chrome để chạy trình duyệt Chrome ở chế độ không đầu có thể được thực hiện bằng cách sử dụng các đối số được xác định trước -không đầu.
Mã mẫu để thực hiện nó được đề cập dưới đây.
Ví dụ:
package test; import java.io.File; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.remote.DesiredCapabilities; public class HeadlessModeDemo { public static void main(String[] args) { // TODO Auto-generated method stub System.setProperty("webdriver.chrome.driver","X://chromedriver.exe"); ChromeOptions options = new ChromeOptions(); options.addArguments("--headless"); DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(ChromeOptions.CAPABILITY, options); options.merge(capabilities); ChromeDriver driver = new ChromeDriver(options); driver.get("https://demo.guru99.com/"); driver.manage().window().maximize(); String title = driver.getTitle(); System.out.println("Page Title: " +title); driver.quit(); } }
Code Giải thích:
- Ban đầu, bạn cần đặt đường dẫn đến tệp chromedriver.exe bằng phương thức thuộc tính set vì bạn đang sử dụng Trình duyệt Chrome để kiểm tra
- Tiếp theo, tạo một đối tượng của lớp Tùy chọn Chrome và chuyển nó tới phiên bản trình điều khiển web. Vì chúng ta muốn mở trình duyệt Chrome ở chế độ không đầu, nên chúng ta cần chuyển đối số –headless cho lớp Tùy chọn Chrome.
- Tạo một đối tượng của lớp Chrome DesiredCapabilities và hợp nhất đối tượng lớp Khả năng mong muốn với đối tượng lớp Tùy chọn Chrome bằng phương thức hợp nhất
- Tạo một đối tượng của lớp Trình điều khiển Chrome và chuyển Tùy chọn Chrome Selenium đối tượng như một đối số
- Cuối cùng, chúng ta cần phải vượt qua URL – https://demo.guru99.com/ đến phương thức driver.get
- In tiêu đề trang và đóng trình duyệt
Đầu ra
Trình duyệt sẽ không hiển thị với mã ở trên vì Chrome sẽ hoạt động ở chế độ Không đầu. Tiêu đề trang sẽ được tìm nạp và hiển thị như bên dưới.







