Chrome Seçenekleri ve İstenilen Yetenekler Selenium Web sürücüsü
Chrome Seçenekleri Sınıfı nedir?
The Chromeoptions Sınıfı bir kavramdır Selenium Chrome sürücüsünün çeşitli özelliklerini düzenlemek için WebDriver. Chrome seçenekleri sınıfı genellikle Chrome sürücü oturumlarını özelleştirmek için Desired Capabilities ile birlikte kullanılır. Chrome'u en üst düzeye çıkarılmış modda açma, mevcut uzantıları devre dışı bırakma, açılır pencereleri devre dışı bırakma vb. gibi çeşitli işlemler gerçekleştirmenize yardımcı olur.
Örnek:
Aşağıdaki örnekte, ChromeOptions sınıfını kullanarak Chrome tarayıcısını ekranı kaplayan modda açmanın bir yolu gösterilmektedir. Web sürücüsünün başlatılmasına ChromeOptions sınıfının bir örneğini aktarmamız gerekiyor.
ChromeOptions options = new ChromeOptions() options.addArgument("start-maximized"); ChromeDriver driver = new ChromeDriver(options);
ChromeOptions sınıfı için mevcut ve en sık kullanılan bağımsız değişkenlerin listesi aşağıdadır
- başlangıç maksimize edilmiş: Chrome'u büyütme modunda açar
- gizli: Chrome'u gizli modda açar
- başsız: Chrome'u başsız modda açar
- uzantıları devre dışı bırak: Chrome tarayıcıdaki mevcut uzantıları devre dışı bırakır
- açılır pencere engellemeyi devre dışı bırak: Chrome tarayıcısında görüntülenen açılır pencereleri devre dışı bırakır
- varsayılan tarayıcı yap: Chrome'u varsayılan tarayıcı yapar
- versiyon: Chrome tarayıcı sürümünü yazdırır
- bilgi çubuklarını devre dışı bırak: Chrome'un 'Chrome otomatik yazılım tarafından kontrol ediliyor' bildirimini görüntülemesini engeller
İstenilen Yetenekler sınıfı
İstenilen Yetenek Sınıfı Web sürücülerinin birden çok özelliğini değiştirmek için kullanılır. Tarayıcı adı, tarayıcı platformu vb. gibi web sürücülerinin ayrı ayrı özelliklerini değiştirmek için anahtar/değer çiftleri sağlar. İstenilen Yetenekler sınıfının yaygın bir yöntemi, setCapability yöntemidir. Çoğunlukla birlikte kullanılır Selenium Aynı test senaryosunun farklı tarayıcılarda yürütülmesi gereken Grid.
Örnek:
Aşağıdaki örnek, Chrome tarayıcısının, Chrome için İstenilen Yetenekler sınıfını kullanarak varsayılan olarak web sitelerinde SSL sertifikalarını kabul etmesini etkinleştirmenin yolunu gösterir.
// 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);
Aşağıda en sık kullanılan önceden tanımlanmış yetenek türleri verilmiştir.
Yetenek Adı | Açıklama |
---|---|
ACCEPT_SSL_CERTS | Bu özellik, tarayıcıya varsayılan olarak SSL Sertifikalarını kabul etmesini söyler |
PLATFORM_NAME | Bu özellik, web sitesine erişim için kullanılan işletim sistemi platformunu ayarlamak için kullanılır. |
BROWSER_NAME | Bu özellik, bir web sürücüsü örneğinin tarayıcı adını ayarlamak için kullanılır |
VERSION | Tarayıcı sürümünü ayarlamak için kullanılan bu özellik |
Adblocker uzantısı için Chrome Seçenekleri
Chrome tarayıcısının reklam engelleyici uzantısı ChromeDriver Seçenekleri ve İstenen Yetenekler sınıfı kullanılarak işlenebilir. Erişim adımları aşağıdadır AdBlockİstenilen Yetenekler sınıfını kullanarak Chrome tarayıcısında er uzantısını kullanın.
) 1 Adım AdBlockChrome Seçenekleri sınıfını kullanmadan önce Chrome tarayıcıya er uzantısı yüklenmelidir
) 2 Adım Karşılık gelen CRX Dosyasını çıkarın AdBlockhttp://crxextractor.com/ aracılığıyla er uzantısı
) 3 Adım İndirilen CRX Dosya yolunu Chrome Seçenekleri sınıfına iletin
) 4 Adım İstediğiniz yetenek sınıfını ve Chrome Seçeneklerini kullanarak web sürücüsünü oluşturun. Selenium nesne
Örnek:
Aşağıdaki örnekte, Chrome Seçenekleri ve İstenilen Yetenekler sınıfını kullanarak Chrome tarayıcısında reklam engelleyici uzantısının nasıl etkinleştirileceği gösterilmektedir.
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);
CRX Dosyasını Çıkart
Aşağıdaki adımlar, CRX Dosyasını web sitesi aracılığıyla Reklam Engelleyici aracılığıyla çıkarma işlemini göstermektedir - http://crxextractor.com/
) 1 Adım MyCAD'de yazılım Güncelleme ye git http://crxextractor.com/ ve başlat düğmesine tıklayın
) 2 Adım Metin kutusunun altına Chrome eklentisini girin – Reklam Engelleyici URL'si. Chrome web mağazasındaki Adblock için URL şudur: https://chrome.google.com/webstore/detail/adblock-%E2%80%94-best-ad-blocker/gighmmpiobklfepjocnamgkkbiglidom
ve tamam'a tıklayın
) 3 Adım Tamam butonuna basıldığında butonun etiketi aşağıdaki gibi Get .CRX olarak değişecektir. Get .CRX butonuna tıklayın, uzantıya karşılık gelen CRX dosyası indirilecektir.
) 4 Adım Dosyayı yerel makineye kaydedin, kaydedilen yolu not edin. Bir sonraki adım, kaydedilen yolu Chrome Seçenekleri sınıfına iletmektir
Basit kod:
- Şurada reklam göreceksiniz: https://demo.guru99.com/ aşağıda olduğu gibi
- İle AdBlockChrome tarayıcı reklamlarında etkin olan er uzantısı devre dışı bırakılmalıdır
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(); } }
Kod Açıklama:
- Test için Chrome Tarayıcıyı kullandığınızdan, başlangıçta chromedriver.exe dosyasının yolunu set property yöntemini kullanarak ayarlamanız gerekir.
- Uzantı yöntemini eklemek için CRX Dosyasının yolunu ayarlamanız gerekir
- Daha sonra Chrome'da İstenilen Yeteneklerin bir nesnesini oluşturmanız gerekir. Selenium sınıfına girin ve bunu web sürücüsü örneğine iletin. İtibaren Selenium 3.8.1 sürümünde, sürücü yetenekleri sınıfı kullanımdan kaldırıldı ve aynı şeyi Chrome Sürücü yapıcısına bir argüman olarak iletmeden önce yetenekler nesnesini Chrome Seçenekleri nesnesiyle birleştirmeniz gerekiyor
- URL'yi açın – https://demo.guru99.com/test/simple_context_menu.html Reklam Engelleyici uzantısı etkinken
- Tarayıcıyı büyütün ve kapatın
NOT: Biz etkinleştiriyoruz AdBlockUzantı Chrome tarayıcısında Adblocker uzantısını manuel olarak etkinleştirmek yerine otomasyon komut dosyası aracılığıyla Chrome tarayıcısında. CRX Dosyası, otomasyon komut dosyasını kullanarak reklam engelleyici uzantısına erişmenin bir yoludur
Çıktı:
Chrome tarayıcı şununla etkinleştirilecek: AdBlocker uzantısı hiçbir reklam olmadan aşağıdaki gibi etkinleştirildi
Gizli mod için Chrome Seçenekleri
Chrome Seçenekleri, önceden tanımlanmış bağımsız değişken kullanılarak gizli mod için kullanılabilir -tebdili kıyafet.
Aşağıda aynı işlemi gerçekleştirmek için örnek kod verilmiştir.
Basit kod:
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(); } }
Kod Açıklama:
- Test için Chrome Tarayıcıyı kullandığınızdan, başlangıçta chromedriver.exe dosyasının yolunu set property yöntemini kullanarak ayarlamanız gerekir.
- Daha sonra Chrome Seçenekleri sınıfının bir nesnesini oluşturmanız ve bunu web sürücüsü örneğine aktarmanız gerekir. Chrome tarayıcıyı gizli modda açmak istediğimiz için –incognito argümanını Chrome Seçenekleri sınıfına iletmeniz gerekir.
- Daha sonra, İstenilen Yetenekler sınıfının bir nesnesini oluşturun ve birleştirme yöntemini kullanarak İstenilen Yetenekler sınıfı nesnesini Chrome Seçenekleri sınıfı nesnesiyle birleştirin
- Chrome Driver sınıfının bir nesnesini oluşturmanız ve Chrome Seçenekleri nesnesini argüman olarak iletmeniz gerekir
- Son olarak URL’yi aktarmamız gerekiyor – https://demo.guru99.com/test/simple_context_menu.html Driver.get yöntemine
- Tarayıcıyı büyütün ve kapatın
Çıktı:
Chrome tarayıcı penceresi aşağıdaki gibi Gizli modda açılacaktır.
Başsız Chrome için Chrome Seçenekleri
Arka planda Başsız bir tarayıcı çalışır. Tarayıcı GUI'sini veya üzerinde gerçekleştirilen işlemleri görmezsiniz.
Chrome tarayıcısını başsız modda çalıştırmaya yönelik Chrome Seçenekleri, önceden tanımlanmış bağımsız değişkenler kullanılarak gerçekleştirilebilir -başsız.
Bunu gerçekleştirmek için örnek kod aşağıda belirtilmiştir.
Örnek:
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(); } }
Kod Açıklama:
- Test için Chrome Tarayıcıyı kullandığınızdan, başlangıçta chromedriver.exe dosyasının yolunu set property yöntemini kullanarak ayarlamanız gerekir.
- Ardından, Chrome Seçenekleri sınıfının bir nesnesini oluşturun ve bunu web sürücüsü örneğine aktarın. Chrome tarayıcıyı başsız modda açmak istediğimiz için –başsız argümanını Chrome Seçenekleri sınıfına aktarmamız gerekiyor.
- DesiredCapaabilitys Chrome sınıfının bir nesnesini oluşturun ve Desired Capaabilitys sınıfı nesnesini birleştirme yöntemini kullanarak Chrome Options sınıfı nesnesiyle birleştirin
- Chrome Driver sınıfının bir nesnesini oluşturun ve Chrome Seçeneklerini iletin Selenium argüman olarak nesne
- Son olarak URL’yi aktarmamız gerekiyor – https://demo.guru99.com/ Driver.get yöntemine
- Sayfa başlığını yazdırın ve tarayıcıyı kapatın
Çıktı
Chrome Başsız modda çalışacağından tarayıcı yukarıdaki kod için görünmeyecektir. Sayfa başlığı aşağıdaki gibi getirilecek ve görüntülenecektir.
ÖZET
- Selenium Chrome Seçenekleri sınıfı, Chrome sürücüsünün çeşitli özelliklerini değiştirmek için kullanılır
- İstenilen Chrome Yetenekleri sınıfı, tarayıcı adı, tarayıcı platformu vb. gibi web sürücüsünün ayrı ayrı özelliklerini değiştirmek için bir dizi anahtar/değer çifti sağlar.
- Chrome tarayıcısının herhangi bir uzantısını değiştirmek için, uzantıya karşılık gelen CRX Dosyasının çıkarılması ve Chrome Seçenekleri sınıfına eklenmesi gerekir.
- –gizli ve –başsız, Chrome tarayıcısını gizli modda ve başsız modda kullanmak için Chrome Seçenekleri sınıfı tarafından sağlanan önceden tanımlanmış bağımsız değişkenlerdir