Lớp Tùy chọn Chrome là gì?
Lớp tùy chọn Chrome được sử dụng để 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.
Thí dụ:
Ví dụ dưới đây cho thấy một cách để mở trình duyệt Chrome ở chế độ tối đa bằng cách sử dụng lớp ChromeOptions. Chúng tôi cần chuyển một phiên bản của lớp ChromeOptions để khởi tạo trình điều khiển web.
Tùy chọn ChromeOptions = ChromeOptions mới ()options.addArgument ("tối đa hóa bắt đầu");Trình điều khiển ChromeDriver = ChromeDriver mới (tùy chọn);
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
- tối đa hóa bắt đầu : Mở Chrome ở chế độ tối đa hóa
- ẩ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 cửa sổ bật lên : Tắt cửa sổ bật lên hiển thị trên trình duyệt Chrome
- make-default-browser: Đặ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
- disable-infobars: Ngăn Chrome hiển thị thông báo 'Chrome đang được điều khiển bởi phần mềm tự động
Trong hướng dẫn này, bạn sẽ học
- Lớp Tùy chọn Chrome là gì?
- Lớp khả năng mong muốn
- Tùy chọn Chrome cho tiện ích mở rộng Trình chặn quảng cáo
- Tùy chọn Chrome cho chế độ ẩn danh
- Tùy chọn Chrome cho Chrome không đầu
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. Lớp Khả năng mong muốn cung cấp một tập hợ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. Phương pháp phổ biến nhất được sử dụng của lớp Khả năng mong muốn là phương pháp setCapability. Khả năng mong muốn được sử dụng thường xuyên nhất 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.
Thí dụ:
Ví dụ dưới đây 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 lớp Khả năng mong muốn.
// Tạo một đối tượng của lớp khả năng mong muốn bằng trình điều khiển ChromeKhả năng mong muốn SSLCertificate = DesnticCapabilities.chrome ();// Đặt khả năng được xác định trước - giá trị ACCEPT_SSL_CERTS thành trueSSLCertificate.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true);// Mở phiên bản trình điều khiển chrome mới với khả năng mong muốnTrình điều khiển WebDriver = ChromeDriver mới (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 | Sự miêu 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 NỀN TẢNG | Thuộc tính này được sử dụng để đặt 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 lớp Tùy chọn Chrome và Khả năng mong muốn. Dưới đây là các bước để truy cập tiện ích mở rộng AdBlocker trên trình duyệt Chrome bằng cách sử dụng lớp Khả năng mong muốn.
Bước 1) Tiện ích mở rộng AdBlocker 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) Giải nén Tệp CRX tương ứng với tiện ích mở rộng AdBlocker thông qua http://crxextractor.com/
Bước 3) Chuyển đường dẫn Tệp CRX đã tải xuống đến lớp Tùy chọn của 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à đối tượng tùy chọn chrome
Thí dụ:
Ví dụ dưới đây trình bày 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.
Tùy chọn ChromeOptions = ChromeOptions mới ();options.addExtensions (Tệp mới ("Đường dẫn đến Tệp CRX"));Khả năng của Des mong muốn = new Des mong muốn ();functions.setCapability (ChromeOptions.CAPABILITY, tùy chọn);Trình điều khiển ChromeDriver = ChromeDriver mới (khả năng);
Giải nén tệp CRX:
Các bước dưới đây trình bày quy trình giải nén Tệp CRX thông qua Trình chặn quảng cáo thông qua trang web - http://crxextractor.com/
Bước 1) Truy cập http://crxextractor.com/ và nhấp vào nút bắt đầu
Bước 2) Nhập tiện ích mở rộng chrome - URL Trình chặn quảng cáo bên dưới hộp văn bản. URL cho Adblock trên cửa hàng Chrome trực tuyến là https://chrome.google.com/webstore/detail/adblock-%E2%80%94-best-ad-blocker/gighmmpiobklfepjocnamgkkbiglidom
và bấm ok
Bước 3) Khi nhấp vào nút OK, nhãn của nút sẽ thay đổi thành Get .CRX như bên dưới. Nhấp vào nút Get .CRX, tệp CRX tương ứng với phần mở rộng sẽ được tải xuống
Bước 4) Lưu tệp vào máy cục bộ, ghi lại đường dẫn đã lưu. Bước tiếp theo là chuyển đường dẫn đã lưu đến lớp Tùy chọn của Chrome
Mã mẫu:
- Bạn sẽ thấy quảng cáo tại http://demo.guru99.com/ như bên dưới
- Với tiện ích mở rộng AdBlocker được bật trên trình duyệt Chrome, quảng cáo sẽ bị vô hiệu hóa
gói quảng cáo;nhập java.io.File;nhập org.openqa.selenium.chrome.ChromeDriver;nhập org.openqa.selenium.chrome.ChromeOptions;nhập org.openqa.selenium.remote.DesosystemCapabilities;lớp công khai AdblockDemo {public static void main (String [] args) {System.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");Tùy chọn ChromeOptions = ChromeOptions mới ();options.addExtensions (Tệp mới ("X: //extension_3_40_1_0.crx"));Khả năng của Des mong muốn = new Des mong muốn ();functions.setCapability (ChromeOptions.CAPABILITY, tùy chọn);options.merge (khả năng);Trình điều khiển ChromeDriver = ChromeDriver mới (tùy chọn);driver.get ("http://demo.guru99.com/test/simple_context_menu.html");driver.manage (). window (). Maxim ();//driver.quit ();}}
Giải thích mã:
- Ban đầu, bạn cần đặt đường dẫn đến tệp chromedriver.exe bằng cách sử dụng phương pháp thuộc tính set vì bạn đang sử dụng Trình duyệt Chrome để thử nghiệm
- Bạn cần đặt đường dẫn đến Tệp CRX để thêm phương thức mở rộng
- Sau đó, bạn cần tạo một đối tượng của lớp khả năng mong muốn và chuyển nó vào phiên bản trình điều khiển web. Từ phiên bản Selenium 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 của Chrome trước khi chuyển giống như một đối số cho hàm tạo Trình điều khiển Chrome
- Mở URL - http://demo.guru99.com/test/simple_context_menu.html với phần mở rộng Ad Blocker được bật
- Phóng to và đóng trình duyệt
LƯU Ý: Chúng tôi đang bật tiện ích mở rộng AdBlocker trên trình duyệt Chrome thông qua tập lệnh tự động hóa thay vì bật tiện ích mở rộng Adblocker trên trình duyệt Chrome theo cách thủ công. 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 cách sử dụng tập lệnh tự động hóa
Đầu ra:
Trình duyệt Chrome sẽ được bật với tiện ích mở rộng AdBlocker được bật như bên dưới mà không có bất kỳ quảng cáo nào
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ã mẫu:
gói thử nghiệm;nhập java.io.File;nhập org.openqa.selenium.chrome.ChromeDriver;nhập org.openqa.selenium.chrome.ChromeOptions;nhập org.openqa.selenium.remote.DesosystemCapabilities;lớp công khai Ẩn danh {public static void main (String [] args) {// VIỆC CẦN LÀM Sơ khai phương thức được tạo tự độngSystem.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");Tùy chọn ChromeOptions = ChromeOptions mới ();options.addArguments ("- ẩn danh");Khả năng của Des mong muốn = new Des mong muốn ();functions.setCapability (ChromeOptions.CAPABILITY, tùy chọn);options.merge (khả năng);Trình điều khiển ChromeDriver = ChromeDriver mới (tùy chọn);driver.get ("http://demo.guru99.com/test/simple_context_menu.html");driver.manage (). window (). Maxim ();//driver.quit ();}}
Giải thích mã :
- Ban đầu, bạn cần đặt đường dẫn đến tệp chromedriver.exe bằng cách sử dụng phương pháp thuộc tính set vì bạn đang sử dụng Trình duyệt Chrome để thử nghiệm
- Sau đó, bạn cần tạo một đối tượng của lớp Chrome Options và chuyển nó vào phiên bản trình điều khiển web. Vì chúng tôi muốn mở trình duyệt Chrome ở chế độ ẩn danh, bạn cần chuyển đối số -incognito vào 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 pháp 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à chuyển đối tượng Tùy chọn Chrome làm đối số
- Cuối cùng, chúng ta cần chuyển URL - http://demo.guru99.com/test/simple_context_menu.html cho 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 trong 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 nó.
Các 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 bên dưới.
Thí dụ:
gói thử nghiệm;nhập java.io.File;nhập org.openqa.selenium.chrome.ChromeDriver;nhập org.openqa.selenium.chrome.ChromeOptions;nhập org.openqa.selenium.remote.DesosystemCapabilities;lớp công khai HeadlessModeDemo {public static void main (String [] args) {// VIỆC CẦN LÀM Sơ khai phương thức được tạo tự độngSystem.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");Tùy chọn ChromeOptions = ChromeOptions mới ();options.addArguments ("- không đầu");Khả năng của Des mong muốn = new Des mong muốn ();functions.setCapability (ChromeOptions.CAPABILITY, tùy chọn);options.merge (khả năng);Trình điều khiển ChromeDriver = ChromeDriver mới (tùy chọn);driver.get ("http://demo.guru99.com/");driver.manage (). window (). Maxim ();String title = driver.getTitle ();System.out.println ("Tiêu đề Trang: + tiêu đề);driver.quit ();}}
Giải thích mã :
- Ban đầu, bạn cần đặt đường dẫn đến tệp chromedriver.exe bằng cách sử dụng phương pháp thuộc tính set vì bạn đang sử dụng Trình duyệt Chrome để thử nghiệm
- Tiếp theo, tạo một đối tượng của lớp Tùy chọn Chrome và chuyển nó vào phiên bản trình điều khiển web. Vì chúng tôi muốn mở trình duyệt Chrome ở chế độ không đầu, chúng tôi cần chuyển đối số-không đầu vào lớp Tùy chọn Chrome.
- 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 cách sử dụng phương pháp 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 đối tượng Tùy chọn Chrome làm đối số
- Cuối cùng, chúng ta cần chuyển URL - http://demo.guru99.com/ tới 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ị đối 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.
Tóm lược:
- Lớp tùy chọn Chrome được sử dụng để thao tác các thuộc tính khác nhau của trình điều khiển Chrome
- Lớp Khả năng mong muốn cung cấp một tập hợp các cặp khóa-giá trị để sửa đổ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.
- Để thao tác với bất kỳ tiện ích mở rộng nào của trình duyệt Chrome, Tệp CRX tương ứng với tiện ích mở rộng phải được trích xuất và phải được thêm vào lớp Tùy chọn của Chrome
- --incognito và -headless là các đối số được xác định trước do lớp Chrome Options cung cấp để sử dụng trình duyệt Chrome ở chế độ ẩn danh và chế độ headless