Özellikler, bir ChromeDriver oturumunu özelleştirmek ve yapılandırmak için kullanabileceğiniz seçeneklerdir. Bu sayfada, ChromeDriver tarafından desteklenen tüm özellikler ve bunların nasıl kullanılacağı açıklanmaktadır.
WebDriver dil API'leri, özellikleri ChromeDriver'a aktarmak için çeşitli yollar sunar. Tam mekanizma dile göre değişir, ancak çoğu dil aşağıdaki mekanizmalardan birini veya ikisini birden kullanır:
ChromeOptions
sınıfını kullanın. Bu, Java, Python vb. tarafından desteklenir.DesiredCapabilities
sınıfını kullanın. Bu, Python, Ruby vb. tarafından desteklenir. Java'da da kullanılabilse de Java'da kullanımı desteklenmemektedir.
ChromeOptions sınıfını kullanma
ChromeDriver'a özgü özellikleri ayarlamak için kullanışlı yöntemler sunan ChromeOptions
örneğini oluşturabilirsiniz. Ardından ChromeOptions
nesnesini ChromeDriver oluşturucusuna ekleyin:
ChromeOptions options = new ChromeOptions();
options.addExtensions(new File("/path/to/extension.crx"));
ChromeDriver driver = new ChromeDriver(options);
Selenium sürüm 3.6.0'dan bu yana, Java'daki ChromeOptions
sınıfı Capabilities
arayüzünü de uygulayarak ChromeDriver'a özgü olmayan diğer WebDriver özelliklerini belirtmenize olanak tanır.
ChromeOptions options = new ChromeOptions();
// Add the WebDriver proxy capability.
Proxy proxy = new Proxy();
proxy.setHttpProxy("myhttpproxy:3337");
options.setCapability("proxy", proxy);
// Add a ChromeDriver-specific capability.
options.addExtensions(new File("/path/to/extension.crx"));
ChromeDriver driver = new ChromeDriver(options);
DesiredCapabilities'i kullanma
DesiredCapabilities
özelliğini kullanmak için özelliğin adını ve aldığı değer türünü bilmeniz gerekir. Tam listeye buradan ulaşabilirsiniz.
Python
caps = webdriver.DesiredCapabilities.CHROME.copy()
caps['acceptInsecureCerts'] = True
driver = webdriver.Chrome(desired_capabilities=caps)
Ruby
caps = Selenium::WebDriver::Remote::Capabilities.chrome(
"goog:chromeOptions" => {"args" => [ "window-size=1000,800" ]})
driver = Selenium::WebDriver.for :chrome, desired_capabilities: caps
Yaygın kullanım örnekleri
Özel profil kullanma (kullanıcı veri dizini olarak da adlandırılır)
Varsayılan olarak, ChromeDriver her oturum için yeni bir geçici profil oluşturur. Bazen özel tercihler belirleyebilir veya tamamen özel bir profil kullanabilirsiniz. Birincisi, "chrome.prefs" ise özelliğini (aşağıda açıklanmıştır) etkinleştirdiğinizden, Chrome başlatıldıktan sonra uygulanacak tercihleri belirtin. İkincisi varsa Chrome'a hangi profili kullanacağını bildirmek için user-data-dir
Chrome komut satırı anahtarını kullanabilirsiniz:
ChromeOptions options = new ChromeOptions();
options.addArguments("user-data-dir=/path/to/your/custom/profile");
Kendi özel profilinizi oluşturmak için user-data-dir
anahtarını yeni bir dizin olarak ayarlayıp Chrome'u (komut satırında veya ChromeDriver üzerinden) çalıştırabilirsiniz. Yol yoksa Chrome, belirtilen konumda yeni bir profil oluşturur. Ardından, profil ayarlarını istediğiniz gibi değiştirebilirsiniz. ChromeDriver, bu profili ileride kullanabilir. Chrome'un hangi profili kullandığını görmek için tarayıcıda chrome://version sayfasını açın.
Chrome'u ekranı kaplayacak şekilde başlat
ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized");
Standart olmayan bir konumda Chrome yürütülebilir dosyasını kullanma
ChromeOptions options = new ChromeOptions();
options.setBinary("/path/to/other/chrome/binary");
İletişim pencerelerini engelleme
Varsayılan olarak ChromeDriver, Chrome'u pop-up pencerelere izin verecek şekilde yapılandırır. Pop-up'ları engellemek (ör. ChromeDriver tarafından kontrol edilmediğinde normal Chrome davranışını geri yüklemek) istiyorsanız aşağıdakileri yapın:
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("excludeSwitches",
Arrays.asList("disable-popup-blocking"));
İndirme dizinini ayarla
Aşağıdaki kod, Chrome'u belirli bir dizine dosya indirecek şekilde yapılandırmak için kullanılabilir. Bununla birlikte, dikkat edilmesi gereken birkaç uyarı vardır:
- Chrome, belirli dizinlerin indirilmesi için kullanılmasına izin vermez. Özellikle, masaüstü klasörünü indirme dizini olarak kullanamazsınız. Linux'ta, indirme işlemi için ana dizini de kullanamazsınız. Yasaklı dizinlerin tam listesi değişebileceğinden, sistem için özel bir anlamı olmayan bir dizin kullanmanız önerilir.
- ChromeDriver, indirme işleminin tamamlanmasını otomatik olarak beklemez. drive.quit() işlevini çok erken çağırırsanız Chrome, indirme işlemi tamamlanmadan sonlandırılabilir.
- Göreli yollar her zaman çalışmaz. En iyi sonuç için bunun yerine tam yolu kullanın.
- Windows'da "" kullanın olarak kullanılmasını sağlar. "/" kullanma Windows'da güvenilir değildir.
ChromeOptions options = new ChromeOptions();
Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("download.default_directory", "/directory/path");
options.setExperimentalOption("prefs", prefs);
Tanınan özellikler
Standartlar için lütfen Selenium dokümanlarına ve W3C WebDriver standardına bakın özellikler (ChromeDriver tarafından kabul edilir). Burada sadece Chrome'a özel özellikler.
ChromeOptions
nesne
Chrome'a özgü özelliklerin çoğu ChromeOptions
üzerinden gösterilir
nesnesini tanımlayın. Bazı dillerde bu, ChromeOptions
sınıfı tarafından uygulanır. İçinde
bunlar şu dilde goog:chromeOptions
sözlüğünün altında depolanır:
gerçekleştirebilirsiniz.
perfLoggingPrefs
nesne
perfLoggingPrefs sözlüğü aşağıdaki biçimdedir (tüm anahtarlar isteğe bağlıdır):
Ad | Tür | Varsayılan | Açıklama |
---|---|---|---|
enableNetwork
|
boolean | true | Ağ alanından etkinlik toplanıp toplanmayacağını belirler. |
enablePage
|
boolean | true | Sayfa alanından etkinlik toplanıp toplanmayacağını belirler. |
traceCategories
|
dize | (boş) | İzleme etkinliklerinin toplanacağı, Chrome izleme kategorilerinin virgülle ayrılmış bir dizesi. Belirtilmemiş veya boş bir dize, izlemeyi devre dışı bırakır. |
bufferUsageReportingInterval
|
pozitif tam sayı | 1000 | Geliştirici Araçları iz arabelleği kullanım etkinlikleri arasında istenen milisaniye cinsinden süre. Örneğin 1000 ise Geliştirici Araçları saniyede bir kez iz arabelleğinin ne kadar dolu olduğunu bildirir. Bir raporda tampon kullanımının %100 olduğu belirtilirse uyarı verilir. |
Döndürülen Özellikler
Bu, Chrome'a özel döndürülen özelliklerin tümünü içeren bir listedir. (ör. yeni bir oturum oluşturduğunuzda ChromeDriver'ın döndürdüğü öğeler)
Ad | Tür | Açıklama |
---|---|---|
chrome.chromedriverVersion
|
dize | ChromeDriver sürümü |
userDataDir
|
dize | Chrome'un kullandığı kullanıcı verileri dizininin yolu; not edin, bunun bir 'chrome' içinde sözlük |