Chrome'da geliştirici modu uzantılarını açılır penceresini devre dışı bırak


166

Geçen hafta kromun en son sürümünden (34.0.1847.116) beri, watir-webdriver kullanarak otomatik testler çalıştırırken “Geliştirici modu uzantılarını devre dışı bırak” aldım.

Bu saldırgan bir uzantı gibi gözüküyor, ancak bunun kromofon tarafından kullanıldığı göz önüne alındığında, potansiyel olarak tehlikeli bir uzantı olduğu bana mantıklı gelmiyor.

Bir önceki sürüme geri alamıyorum veya eski bir sürüm için geri yükleyecek bir yükleyici bulamadığım için bunun için bir düzeltme bulmuş herkes ve bu benim testleri ile tahribat yapıyor.

resim açıklamasını buraya girin

resim açıklamasını buraya girin


Açılır


@ artdias90 artık çalışmıyor, artık güncellemek istemiyor (2 yıl korunduktan sonra anlaşılabilir).
BadAtPHP

açılır pencere gösterildikten sonra robot türünü kullanarak esc düğmesine basın. Robot robot; try { robot = new Robot(); robot.keyPress(KeyEvent.VK_ENTER); // confirm by pressing Enter in the end robot.keyRelease(KeyEvent.VK_ENTER); } catch (AWTException e) { printStackTraceToString(e); }
Abdullah Nurum

2
Yan not: Vivaldi tarayıcı çoğu krom uzantısı ile uyumludur ve bu uyarıyı vermez
Kullanıcı

Yanıtlar:


79

Resmi yolu açılır penceresini devre dışı bırakmak için şudur:

  1. Uzantınızı toplayın: gidin chrome://extensions, kontrol edin Developer modeve tıklayınPack extension

  2. .crxDosyayı chrome://extensionssayfaya sürükleyip bırakarak uzantıyı yükleyin .

Chrome'u bu noktada yeniden başlatmayı denerseniz "Desteklenmeyen uzantılar devre dışı bırakıldı" açılır penceresi alırsınız.

Sonra Windows 7 veya Windows 8 için:

  1. Chrome grubu politika şablonlarını buradan indirin
  2. Şuraya kopyala [zip]\windows\admx\chrome.admx:c:\windows\policydefinitions
  3. Kopya [zip]\windows\admx\[yourlanguage]\chrome.admliçin c:\windows\policydefinitions\[yourlanguage]\chrome.adml(değil c:\windows\[yourlanguage])
  4. Chrome'da Uzantılar sayfasına gidin: chrome://extensions
  5. Kontrol Developer Mode
  6. Devre dışı bırakılan uzantılar listesini aşağı kaydırın ve etkinleştirmek istediğiniz uzantıların kimliklerini not edin.
  7. Start> Öğesini tıklayın Run, yazın gpedit.mscve tıklayın enter.
  8. Click User Configuration> Administrative Templates> Google Chrome>Extensions
  9. Çift tıklama Configure extension installation whitelistpolitikası
  10. Seçin Enabledve tıklayınShow
  11. Listeye Adım 7'de not ettiğiniz uzantıların kimliklerini girin
  12. OKChrome'u tıklayın ve yeniden başlatın.

Bu kadar!

EDIT: Temmuz 2018 itibariyle, bu yaklaşım artık işe yaramıyor: Google'ın "beyaz listeyi" onurlandırmayı bıraktığı anlaşılıyor.

DÜZENLEME 2: Aralık 2018 itibarıyla, bu yaklaşım şu şekilde çalışır Chrome Version 69.0.3497.100 (Official Build) (64-bit):

  1. Geçici olarak etkinleştirmek Developer modeiçindechrome://extensions

  2. Kullanarak açılır pencereye neden olan uzantıyı kaldırın Load unpacked.

  3. Tıklayın Pack extensionve uzantı dosyalarını içeren klasörü bulup seçin. Özel anahtar dosyasına sahip değilseniz girmeyin.

  4. Tıklayın Pack extension. Uzantının kök dizininin yanında bir .crxve .pemdosya oluşturulur. .crxDosyayı kullanarak uzantıyı yükleyin ve .pemdosyayı güvende tutun .

  5. .crxYüklü uzantı kimliğini beyaz listeye kopyalayın ve Chrome'u yeniden başlatın.

Açılır pencere gitmiş olmalı.


4
@Ryan Bu politika şablonlarının ana sayfası chromium.org/administrators/policy-templates gibi görünüyor Bu site düzenli olarak güncellenmektedir (son güncelleme 54 dakika önce). 24 Haziran'da bu yöntemi kullandım ve yapılandırma bugün en son Chrome sürümüyle çalışıyor. «Engelli olamaz» resmi sürüm olmasını tercih ederseniz - bu seçim;)
Antony Hatchkins

1
Sorunu Selenium Chrome Driver seçenekleriyle çözdüm, buraya bakın .
kriegaex

1
@Antony Hatchkins Bu cevaba göre güncellenmiş kodu kullandım stackoverflow.com/questions/30287907/… ve tekrar çalışmaya başladı. tepki için teşekkürler!
tüp üreticisi

1
Windows'um Home Premium, gpedit.msc'im yok: /
Lucas Bustamante

1
Chrome'da benim için çalışır 58.0.3029.81, Win 7 x64 :) Bu çözümün süreceğini umuyoruz!
Jimadine

36

Chrome sürücüsü oluştururken, devre dışı bırakmak için seçeneği kullanın. Herhangi bir uzantı olmadan çalışıyor.

Aşağıdaki kod snippet'ini kullan

ChromeOptions options = new ChromeOptions();
options.addArguments("chrome.switches","--disable-extensions");
System.setProperty("webdriver.chrome.driver",(System.getProperty("user.dir") + "//src//test//resources//chromedriver_new.exe"));
driver = new ChromeDriver(options);

35
bunu nereye yazmalıyız?
İbrahim Özbölük

Protractor conf.js dosya argüman listeme ekledi ve işe yaradı. Çok teşekkürler :)
ghiscoding

2
Bu harika çalıştı. C # kod:options.AddArgument("--disable-extensions");
kirbycope

4
Bugün, options.AddArguments("chrome.switches", "--disable-extensions --disable-extensions-file-access-check --disable-extensions-http-throttling");sadece --disable-extensions yerine kullanmak zorunda kaldım . Ek anahtarlardan birinin atlanabileceğini düşünüyorum, ancak her ikisini de değil.
Anders Lindén

14
ölümlü insanlar için biraz açıklayabilir misiniz? bu senaryo nedir veya nereye konur ...
T.Todua

23

Mayıs 2015 itibarıyla Windows'ta Chrome beta / dev / canary (bkz. 75-78. Satırlar) bu uyarıyı her zaman görüntüler.

  • Ben sadece chiew.dll (dev kanal, 32-bit) hiew32 demo sürümünü kullanarak yamalı: çalıştır, onaltılık görünüm (Enter tuşu) geçmek, ExtensionDeveloperModeWarning (F7) aramak, sonra referans kodu bulmak için F6 tuşuna basın, gidin yakın INC EAX rETN düzenleyebilir basın F3 takip eder hattı, (F9) tasarruf NOP (no-op) olarak görüntülenecek yerine 40 90, yazın.

  • 64 bit Chrome geliştirici için de çalışan @Gsx tarafından bulunan basitleştirilmiş yöntem:

    1. hiew32 demosunu çalıştırın (yönetici modunda) ve Chrome.dll dosyasını açın
    2. onaltılık görünüme geç ( Enteranahtar)
    3. arama ExtensionDeveloperModeWarning ( F7)
    4. F3"E" harfini düzenlemek ve başka bir karakterle değiştirmek için basın
    5. kaydet ( F9).
  • patch.BAT senaryo

Tabii ki bu sadece bir sonraki güncellemeye kadar sürecek, bu yüzden sık sık ihtiyacı olan kişi otomatik bir yamalı veya bellekte dll'yi yayan bir başlatıcı yazabilir.


Merhaba, hiew32demo ile yama yapmaya çalışıyorum ama bunu başaramadım. Chrome.dll dosyasını açtığımda alıyorum Hiew Demo doesn't support NE/LX/LE/NLM/ELF/PE64 files, ancak bu uyarıyı atlayabilirim. Sonra _ExtensionDeveloperModeWarning _ uymadığından ExtensionDeveloperMo kodunu çözmek ve aramak için F4 ile modu değiştiriyorum . Bulduktan sonra F6'ya basıyorum ama anlıyorum Target not found. Bana yardım eder misin?
Gsx

1
'4578 7465 6e73 696f 6e44 6576' ('ExtensionDev') chrome.dll dosyasını bulamıyorum. Bu yöntem hala çalışıyor mu?
Emerson

Gsx, yöntemim geliştirici kanalında 32 bit Chrome için çalışıyor.
wOxxOm

2
Emerson, bu değişiklik sadece bir hafta önce Dev kanalına indi, bu yüzden Kararlı değil. Kaynak kodun önceki sürümünü analiz ederek ilgili yeri bulmanız gerekir.
wOxxOm

1
@wOxxOm Bu da başarısız oldu, ama garip bir yol XD buldum. ExtensionDeveloperMo için arama ve EXtensionDeveloperMo için değiştirdim ve bu işe yaramış gibi görünüyordu.
Gsx

7

Devre dışı bırakılamaz. Alıntı: "Üzgünüm, sinir bozucu olduğunu biliyoruz, ama kötü amaçlı yazılım yazarları ..."

Tek seçenekleriniz şunlardır: otomatik testlerinizi bu yeni davranışa uyarlayın veya rahatsız edici komut dosyasını Chrome Web Mağazası'na ("liste dışı" şekilde yapılabilir) yükleyin.


66
Web mağazamda uzantımı / uygulamalarımı kullanamamın binlerce nedeni var, yerel olarak çalıştırmam gerekiyor. Bu, Google Chromium ekibinin çok kötü bir uygulamasıydı, çok EVIL, bilgisi olan biri Chromium ile tartışmalı ve düzeltmelidir. Korkunç bir konu ve ciddi takdir değil. Bu sorunun cevabı, kiosk projesi üzerinde çalışan insanlar için biraz fazla öldürmektir. kabusu. bunun için düzeltme yapmak için lütfen krom topluluğuna bilgi verin / vurun / tartışın.

4
Chrome'u kullanarak artık hiçbir şey geliştiremediğiniz sürece sadece bir zaman meselesi olacaktır :)
Vinz

1
Doğru, kötü amaçlı yazılım yüzünden ...
Dissenter

Özel bildirim anahtarı eklemem ve web mağazasına yükleme yapmam bir seçenek değil.
Meyve

5

(Antony Hatchkins'e cevap olarak)

Chrome politikalarını belirlemenin şu anki, kelimenin tam anlamıyla resmi yolu: https://support.google.com/chrome/a/answer/187202?hl=tr

Windows ve Linux şablonlarının yanı sıra tüm işletim sistemleri için ortak politika dokümanlarını burada bulabilirsiniz: https://dl.google.com/dl/edgedl/chrome/policy/policy_templates.zip (Google Chrome şablonlarının zip dosyası ve dokümantasyon)

Windows için talimatlar (eklentilerimle):

İndirdiğiniz ADM veya ADMX şablonunu açın:

  • Daha önce indirilmiş olan "policy_templates.zip" den "chrome.adm" dosyasını seçtiğiniz dilde ayıklayın (örn. "Policy_templates.zip \ windows \ adm \ en-US \ chrome.adm").
  • Başlat> Çalıştır: gpedit.msc'ye gidin.
  • Yerel Bilgisayar İlkesi> Bilgisayar / Kullanıcı Yapılandırması> Yönetim Şablonları'na gidin.
  • Yönetim Şablonları'na sağ tıklayın ve Şablon Ekle / Kaldır'ı seçin.
  • İletişim kutusundan "chrome.adm" şablonunu ekleyin.
  • Tamamlandığında, Yönetimsel Şablonlar altında Klasik Yönetim Şablonları (ADM) / Google / Google Chrome klasörü görünür.
  • Şablonu Bilgisayar Yapılandırması veya Kullanıcı Yapılandırması altına ekleseniz de, ayarlar her iki yerde de görüneceğinden Chrome'u bir makine veya kullanıcı düzeyinde yapılandırabilirsiniz.

Bunu yaptıktan sonra, Antony Hatchkins'in cevabının 5. adımından devam edin . Uzantı kimliklerini ekledikten sonra, açarak politikanın Chrome'da çalışıp çalışmadığını kontrol edebilirsiniz chrome://policy( ExtensionInstallWhitelist öğesini arayın ).


Teşekkürler Panther. İletişim kutusu aracılığıyla "chrome.adm" şablonu eklendi ve bu hatayı aldı: [dizeleri] sektininde aşağıdaki giriş çok uzun ve kesildi. Bunu Kiril sayfası mı izliyor?
Steve Staple

Diğer kullanıcıyı yayınınız hakkında otomatik olarak bilgilendirmek için @ kullanın (@Panther gibi).
Antony Hatchkins

@SteveStaple Üzgünüm, ama böyle bir sorunun nedenini bilmiyorum. :( Bu konuda uzman değilim, sadece bağlantı verdiğim sayfadaki talimatları takip ettim. Neyse ki benim için çalıştı.
Panther

4

Uzantıları devre dışı bırak ayarı benim için çalışmadı. Bunun yerine, İptal düğmesini tıklatmak için Robot sınıfını .

import java.awt.Robot;
import java.awt.event.InputEvent;

public class kiosk {
  public static void main(String[] args) {
    // As long as you don't move the Chrome window, the Cancel button should appear here.
    int x = 410;
    int y = 187;

    try {
      Thread.sleep(7000);// can also use robot.setAutoDelay(500);
      Robot robot = new Robot();
      robot.mouseMove(x, y);
      robot.mousePress(InputEvent.BUTTON1_MASK);
      robot.mouseRelease(InputEvent.BUTTON1_MASK);
      Thread.sleep(3000);// can also use robot.setAutoDelay(500);
    } catch (AWTException e) {
      System.err.println("Error clicking Cancel.");
      e.printStackTrace();
    } catch (InterruptedException e) {
      e.printStackTrace();
    }
  }
}

Bu cevabı, diğer can sıkıcı kaçınılmaz GUI düğmesi tıklama görevlerini otomatikleştirmek için uyarlanabildiğinden düşük puanlanmıştır.
D Adams,

@momomo Açıkçası bir yapılandırmada veya başka bir şeyde ayarlanabilir, ancak bu sadece örnek koddur.
Steve Smith

4

Alternatif bir çözüm var, Chrome-Developer-Mode-Extension-Warning-Patcher kullanın :

  1. En son sürümü buradan indirin Github'dan indirin.
  2. Chrome'u kapatın.
  3. Zip arşivini açın ve ChromeDevExtWarningPatcher.exe dosyasını yönetici olarak çalıştırın .
  4. Yeni açılan GUI'den Chrome kurulumunuzu seçin ve ardından Yama düğmesine tıklayın:

resim açıklamasını buraya girin

  1. DevMode açılır penceresi olmadan Chrome'un keyfini çıkarın!

3

Aynı sorundan muzdariptim ve aşağıdakileri denedim:

  1. Ambalajsız uzantıyı paketleyin
  2. Geliştirici Modunu Kapat
  3. Paketlenmiş uzantıdan .crx dosyasını sürükleyip bırakın
  4. Chrome'u kapatın ve tekrar açın.

Unutulmaması gereken birkaç nokta:

  • .Pem dosyası .crx ile saklanmalıdır.
  • .Crx ve .pem dosyasını paketinden çıkarılmış uzantının klasörüne koymayın.

Chrome'u yeniden açtığımda, bana yeni paketlenmiş uzantı hakkında bilgi veren bir açılır pencere aldım, bu yüzden Chrome'u tekrar yapıp yapmayacağını görmek için yeniden başlattım ve olmadı.

Umarım bu çözüm işe yaramıştır!


Yönteminizi kullandıktan sonra "Desteklenmeyen uzantılar açılır penceresi" aldım. Nasıl devre dışı bırakılacağına ilişkin ayrıntılar için cevabıma bakın .
Antony Hatchkins

"Uygulamalar, uzantılar ve kullanıcı komut dosyaları bu web sitesinden eklenemez" var.
johny neden

2

Antony Hatchkins'in cevabına dayanarak :

Resmi yolu açılır penceresini devre dışı bırakmak için böyle görünüyor:

  1. Uzantınızı paketleyin ( chrome://extensions/'Geliştirici modu'nu işaretleyin,' Paket uzantısı ... 'seçeneğini tıklayın ve .crxdosyayı chrome://extensionssayfaya sürükleyip bırakarak yükleyin .

    (Uzantı Chrome Web Mağazası'ndan olmadığından, varsayılan olarak devre dışı bırakılır.)

Sonra Windows için:

  1. Chrome'da Uzantılar sayfasına gidin ( chrome: // extensions )
  2. Üst taraftaki Geliştirici Modu onay kutusunu işaretleyin
  3. Devre dışı bırakılan uzantılar listesini aşağı kaydırın ve etkinleştirmek istediğiniz uzantıların kimliklerini not edin. Örneğin, LogMeIn kimliği:nmgnihglilniboicepgjclfiageofdfj
  4. Tıklayın Start> Runve tipiregedit <ENTER>
  5. Anahtarın altında HKLM\Software\Policies\Google\Chrome\ExtensionInstallWhitelist (yoksa oluşturun), ardışık adlarla (dizinler) etkinleştirmek istediğiniz her uzantı için yeni bir dize oluşturun, örneğin 1, 2, ...
  6. Herhangi bir sırayla dize değerleri olarak uzantı kimliklerini girin. Örneğin, ad 1ve değer içeren bir dize varnmgnihglilniboicepgjclfiageofdfj
  7. Chrome'u yeniden başlat

Bu kadar!

Not: Beyaz listeye eklenmiş bir uzantıyı güncellediğinizde, uzantının kimliği değişmeyeceğinden aynı adımları uygulamanız gerekmez.


Bir .crxdosyayı sürükleyip bırakarak yalnızca a açılır save as windowve yüklemez. Chrome sürüm 80.0.3987.163.
xyz

1
Kenar krom için kayıt defteri anahtarı bulunamadı
JinSnow

@xyz Bir .crxdosyayı sürükleyip bırakmak 81.0.4044.122 sürümünde uzantıyı yükler. @JinSnow Microsoft Edge'e
Burak Gök

1

1) Açılır balonun görünmesini bekleyin.

2) Yeni bir sekme açın.

3) Yeni bir sekmeyi kapatın. Açılır pencere orijinal sekmesinden gider.

Küçük bir Chrome uzantısı şu adımları otomatikleştirebilir:

manifest.json

{
  "name": "Open and close tab",
  "description": "After Chrome starts, open and close a new tab.",
  "version": "1.0",
  "manifest_version": 2,
  "permissions": ["tabs"],
  "background": {
    "scripts": ["background.js"], 
    "persistent": false
  }
}

background.js

// This runs when Chrome starts up
chrome.runtime.onStartup.addListener(function() {

  // Execute the inner function after a few seconds
  setTimeout(function() {

    // Open new tab
    chrome.tabs.create({url: "about:blank"});

    // Get tab ID of newly opened tab, then close the tab
    chrome.tabs.query({'currentWindow': true}, function(tabs) {
      var newTabId = tabs[1].id;
      chrome.tabs.remove(newTabId);
    });

  }, 5000);

});

Bu uzantı yüklendiğinde Chrome'u başlatın ve açılır pencere görünmeden hemen uygulamaları değiştirin ... birkaç saniye sonra açılır pencere kaybolacak ve Chrome'a ​​geri döndüğünüzde görmeyeceksiniz.


(Bonus ipucu 1) Selenium'u kullanırken hemen yeni bir pencere açabilir, yeni pencerede açılır pencereyi bekleyebilir ve ardından açılır pencereyi kapatmak için yeni pencereyi kapatabilirsiniz. stackoverflow.com/a/36507179/3345375
jkdev

2
(Bonus ipucu 2) Bunu da deneyebilirsiniz: --enable-automationAçılır pencereyi almaktan kaçınmak için bayrağı ekleyin .
jkdev

2
Bu benim için işe yaramadı. Win 10, Chrome güncel. Adımları takip ettikten sonra pop-up kaldı.
freginold

@ freginold Neyin işe yaradığını anlamak için, sekmeleri / pencereleri açıp kapatarak çeşitli dizileri denemek zorunda kaldım. Sıra diğer işletim sistemleri ve tarayıcı sürümleri için farklı olabilir.
jkdev

@jkdev Komut satırı anahtarının --enable-automationkendi iğrenç yan etkisi vardır: yok divolana kadar her sayfanın üstünde a görünür (sonra görünmeyi durdurur). Geliştirici Modu açılır penceresi, ilk görüntülendiğinde ESC tuşuna basılarak kapatılabilir. Her iki durumda da can sıkıcı!
George

0

Windows üzerinde çalışıyorum Ve burada cevap olarak sağlanan bir çok şey denedim ama Pop up sürekli uzantıyı devre dışı bırakıyordu sonra ben aşağıdaki adımları denedim ve şimdi çalışıyor:

  1. Adresine git // uzantıları: krom sayfası ve tıklayın Pack extensionresmin altındaki görüntülenen düğmesi ve kırmızı dörtköşe Gözat düğmesine tıklayarak uzantısı senin kökünü Dizini seçin.

uzantının kök dizinine göz atın

  1. kök dizini seçtikten sonra Pack extensionAşağıdaki resimde kırmızı daire içinde görüntülenen düğmeye tıklayın .

resim açıklamasını buraya girin

  1. Şimdi parent directoryseçtiğiniz root directoryuzantıyı kontrol ederek 2 dosya [extension name].crxve [extension name].pem.

  2. Şimdi [extension name].crxdosyayı chrome: // extensions sayfasına sürükleyip bırakın ve şimdi uygulama ekle iletişim kutusunu kullanarak sorup tıklayıp Add appşimdi yüklendiği sayfayı yenileyin.

Not: Yukarıdaki gibi bir şey yapmadan önce uzantılar için Geliştirici modunu etkinleştirdiğinizden emin olun . Bu etkinleştirilmemişse, etkinleştirdikten sonra chrome: // extensions sayfasını yenileyin.


1
ambalajsız uzantı geliştirici modu uyarısı ile çalışır. ancak crx ile uzantı her zaman devre dışı bırakılır. google, uzantının web mağazasında yayınlanmasını ve oradan yüklenmesini gerektirir.
gp.

Chrome, kullanıcıların paketlenmiş uzantıları yüklemesine izin vermez ve paketin geçersiz olduğunu belirtir: CRX_REQUIRED_PROOF_MISSING.
Harshit Juneja

@HarshitJuneja, uzantı kimliğini beyaz listeye eklemek ve chrome'u yeniden başlatmak zorunda olabilirsiniz.
Haritsinh Gohil

0

Bu soru çok eski, ancak uzantılarını krom mağazasına eklemeyen bir uzantı geliştiricisi olarak bu pop-up iletisini devre dışı bırakmaya çalışmanın yollarını aradığınızda Google'da hala en iyi sonuç, nedeniyle grup politikalarına erişimi yok ve Chrome dev derlemesini kullanmıyor. Şu anda bu durumda resmi bir çözüm yok, bu yüzden burada biraz 'çirkin' bir tane yayınlayacağım.

Bu yöntem hemen yeni bir pencere oluşturmamızı ve eskisini kapatmamızı sağlıyor. Açılır pencere orijinal pencereyle ilişkilidir, bu nedenle normal kullanım durumlarında bu pencere kapatıldığından açılır pencere asla görünmez.

Buradaki en basit çözüm, yeni bir pencere oluşturuyoruz ve geri aramada yeni oluşturduğumuz pencere olmayan tüm pencereleri kapatıyoruz:

chrome.windows.create({
    type: 'normal',
    focused: true,
    state: 'maximized'
}, function(window) {
    chrome.windows.getAll(function(windows) {
        for (var i = 0; i < windows.length; i++) {
            if (windows[i].id != window.id) {
                chrome.windows.remove(windows[i].id);
            }
        }
    });
});

Ayrıca, bu uzantının nasıl yüklendiğini tespit edebilir ve bu kodu yalnızca bir geliştirme yüklemesi ise çalıştırabiliriz (muhtemelen en iyisi yayın kodundan tamamen kaldırmak için). İlk olarak, chrome.management.getSelf çağrısı için, uzantının yükleme türünü kontrol etmemizi sağlayan, temel olarak bir if ifadesinde yukarıdaki kodu saran bir geri arama işlevi oluşturuyoruz:

function suppress_dev_warning(info) {
    if (info.installType == "development") {
        chrome.windows.create({
            type: 'normal',
            focused: true,
            state: 'maximized'
        }, function(window) {
            chrome.windows.getAll(function(windows) {
                for (var i = 0; i < windows.length; i++) {
                    if (windows[i].id != window.id) {
                        chrome.windows.remove(windows[i].id);
                    }
                }
            });
        });
    }
}

daha sonra yaptığımız geri arama ile chrome.management.getSelf diyoruz:

chrome.management.getSelf(suppress_dev_warning);

Bu yöntemin bazı uyarıları vardır, yani kalıcı bir arka plan sayfası olduğunu varsayıyoruz, bu da kodun ilk açıldığında yalnızca bir kez çalıştığı anlamına gelir. İkinci bir sorun, uzantıyı chrome: // uzantıları sayfasından yeniden yüklersek / yenilersek, şu anda açık olan tüm pencereleri kapatacak ve deneyimimde bazen uyarı yine de görüntülenecektir. Bu özel durum, herhangi bir sekmenin "chrome: // uzantılarına" açık olup olmadığını kontrol edip, çalıştırmıyorsa önlenebilir.



0

Kullanıcı tarafından paketlenen uzantıları yükleyecek ve güzel çalışan bir şey buldum:

Yine de sorun uzantısı için ayrıntılı olarak paketlemeniz gerekecek, ancak bundan sonra geliştirici modunu kapatabilir ve paketlenmiş CRX'i bu şekilde yükleyebilirsiniz. İmzalamak ya da başka bir şeyle uğraşmak zorunda değilsiniz.

https://chrome.google.com/webstore/detail/crosspilot/migomhggnppjdijnfkiimcpjgnhmnale?hl=en

Not: Takımlarından değilim, yıllardır bunun için zarif bir çözüm arıyordum.


-1

Ruby tabanlı watir-webdriver böyle bir şey kullanır:

browser=Watir::Browser.new( :chrome, :switches => %w[ --disable-extensions ] )

-1

WebdriverIO kullanan herkes için istemcinizi şu şekilde oluşturarak uzantıları devre dışı bırakabilirsiniz:

var driver = require('webdriverio');
var client = driver.remote({
    desiredCapabilities: {
        browserName: 'chrome',
        chromeOptions: {
            args: [
                'disable-extensions'
            ]
        }
    }
});

OP, WebDriverIO kullanmıyor. Dahası OP pop-up'ı devre dışı bırakmayı istiyor, ancak bunun yerine uzantıları devre dışı bıraktınız.
Cardin Lee JH

-1

Bunun hala insanlar için bir sorun olup olmadığından emin değilim. Ancak, bu yazı ve diğerleri okumak ve nihayet bu ile oynadı ve bu kodu kullanarak C # çalışmasını başardı. Hepsini bu yazıdan ve bu yazıya bağlı bazı yayınlardan elde ettim.

Umarım bu yardımcı olur, kesinlikle C # konsol uygulamasında sorunlarımı çözdü.

Sürüm 52.0.2743.116 m Chrome Selenium 2.9 Sunucu Sürücüsünü kullanma

        var chromeService = ChromeDriverService.CreateDefaultService(@"C:\Selenium\InstalledServerDrivers\");
        var options = new ChromeOptions();

        options.AddArgument("--disable-extensions");                                      
        IWebDriver driver = new ChromeDriver(chromeService, options);

        driver.Url = "http://www.google.com/";

Bir cazibe gibi çalışır (C # WebDriver 2.53.1.0, ChromeDriver 2.20.353145, Win7 x64)
Alessandro Da Rugna

-1

Şimdi, aşağıdakileri kullanarak ele almamız gerekiyor -

ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("chrome.switches", "--disable-extensions --disable-extensions-file-access-check --disable-extensions-http-throttling");

Bunun dışında krom anahtarları da --disable-extensionseklemeliyiz --disable-extensions-file-access-check(ve / veya) --disable-extensions-http-throttling.


-2

Ne yazık ki iphone modunda tarayıcıyı kullanarak genişlik kısıtlamaları nedeniyle geliştirici moduna ayarlamayı otomatikleştiremiyorum. Şimdilik tehlikeli bir çözüm buldum, Chrome'un dev kanal sürümünü yükleyin. Uyarı mesajı yok, ancak sorunlar ortaya çıktığında uzun vadede bana daha fazla soruna neden olacağından eminim. Yine de bana geçici bir çözüm bulmak için birkaç gün verecek.


Beta kanalını da kullanabilirsiniz . Dev'den daha kararlı. Aynı zamanda, kararlı kanaldan daha fazla özelliğe sahiptir.
Rob W

1
@RobW asargent pop-up'ın beta kanalında da bulunduğunu söyledi. Yanlış mı? code.google.com/p/chromium/issues/detail?id=337734#c2
rsanchez

1
@rsanchez Windows'da yeni denediniz ve haklısınız. Düzeltme için teşekkürler. Linux kullanıyorum, bu yüzden bu sorunu yaşamıyorum (:
Rob W

Artık
çalışmaz

@RobW Hata hakkında bir güncelleme gönderebilir misiniz? (öyle Restrict-AddIssueComment-EditIssue)
Xan

-4

Python ile selenyum kullanarak, sürücüyü şu şekilde devre dışı bırakılmış olarak başlatırsınız:

from selenium import webdriver
options = webdriver.chrome.options.Options()
options.add_argument("--disable-extensions")
driver = webdriver.Chrome(chrome_options=options)

'Geliştirici modu uzantılarını devre dışı bırak' açılır penceresi açılmaz.


OP açılır pencereyi nasıl devre dışı bırakacağınızı sorar, onun yerine uzantılarını devre dışı bırakmaya karar verdiniz. : /
Cardin Lee JH
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.