ปิดใช้งานส่วนขยายโหมดนักพัฒนาซอฟต์แวร์ปรากฏขึ้นใน Chrome


166

ตั้งแต่สัปดาห์ล่าสุดของ chrome (34.0.1847.116) เมื่อสัปดาห์ที่แล้วฉันได้รับ“ ปิดการใช้งานโหมดผู้พัฒนาส่วนขยาย” เมื่อทำการทดสอบอัตโนมัติโดยใช้ watir-webdriver

นี่ดูเหมือนจะเป็นส่วนขยายที่น่ารังเกียจ แต่มันก็ไม่สมเหตุสมผลสำหรับฉันว่านี่เป็นส่วนขยายที่เป็นอันตรายที่อาจเกิดขึ้นจากการที่ Chromedriver ใช้งาน

ทุกคนที่ได้พบการแก้ไขสำหรับเรื่องนี้เนื่องจากฉันไม่สามารถย้อนกลับไปเป็นรุ่นก่อนหน้าหรือค้นหาตัวติดตั้งสำหรับรุ่นเก่าที่จะย้อนกลับไปและสิ่งนี้กำลังเล่นความเสียหายด้วยการทดสอบของฉัน

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่


ใช้การคลิกภายนอกเพื่อฆ่าป๊อปอัป: stackoverflow.com/a/29376532/285594


@ artdias90 ไม่ทำงานอีกต่อไปเขายังไม่ต้องการอัปเดตอีกต่อไป (ซึ่งเป็นที่เข้าใจได้หลังจาก 2 ปีของการบำรุงรักษา)
BadAtPHP

หลังจากป๊อปอัปแสดงขึ้นให้กดปุ่ม esc โดยใช้ประเภทหุ่นยนต์ 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
หมายเหตุด้านข้าง: เบราว์เซอร์ Vivaldi เข้ากันได้กับส่วนขยายของโครเมี่ยมส่วนใหญ่และไม่ได้ให้คำเตือนนี้
ผู้ใช้

คำตอบ:


79

วิธีการอย่างเป็นทางการที่จะปิดการใช้งานป๊อปอัพคือ:

  1. แพ็คส่วนขยายของคุณ: ไปที่chrome://extensionsตรวจสอบDeveloper modeและคลิกPack extension

  2. ติดตั้งส่วนขยายโดยการลากและวาง.crxไฟล์ลงในchrome://extensionsหน้า

คุณจะได้รับป๊อปอัป "ปิดใช้งานส่วนขยายที่ไม่สนับสนุน" หากคุณลองรีสตาร์ท Chrome ในตอนนี้

จากนั้นสำหรับ Windows 7 หรือ Windows 8:

  1. ดาวน์โหลดเทมเพลตนโยบายกลุ่มของ Chrome ที่นี่
  2. คัดลอก[zip]\windows\admx\chrome.admxไปยังc:\windows\policydefinitions
  3. คัดลอก[zip]\windows\admx\[yourlanguage]\chrome.admlไปยังc:\windows\policydefinitions\[yourlanguage]\chrome.adml(ไม่c:\windows\[yourlanguage])
  4. ใน Chrome ไปที่หน้าส่วนขยาย: chrome://extensions
  5. ตรวจสอบ Developer Mode
  6. เลื่อนลงรายการส่วนขยายที่ปิดใช้งานและจดบันทึก ID ของส่วนขยายที่คุณต้องการเปิดใช้งาน
  7. คลิกStart> Runชนิดและตีgpedit.mscenter
  8. คลิกUser Configuration> Administrative Templates> Google Chrome>Extensions
  9. Configure extension installation whitelistนโยบายการคลิกสองครั้ง
  10. เลือกEnabledและคลิกShow
  11. ในรายการให้ป้อน ID ของส่วนขยายที่คุณจดบันทึกไว้ในขั้นตอนที่ 7
  12. คลิกOKและรีสตาร์ท Chrome

แค่นั้นแหละ!

แก้ไข: ตั้งแต่เดือนกรกฎาคม 2018 วิธีการนี้ใช้งานไม่ได้: ดูเหมือนว่า Google จะหยุดให้เกียรติ "บัญชีขาว"

แก้ไข 2: ณ ธันวาคม 2561 วิธีนี้ใช้ได้ในChrome Version 69.0.3497.100 (Official Build) (64-bit):

  1. เปิดใช้งานชั่วคราวDeveloper modeในchrome://extensions

  2. Load unpackedถอนการติดตั้งส่วนขยายที่เป็นสาเหตุของป๊อปอัพโดยใช้

  3. คลิกที่Pack extensionและค้นหาและเลือกโฟลเดอร์ที่มีไฟล์นามสกุล อย่าป้อนไฟล์กุญแจส่วนตัวหากคุณไม่มี

  4. Pack extensionคลิก .crxและ.pemไฟล์จะถูกสร้างขึ้นใกล้กับไดเรกทอรีรากของส่วนขยาย ติดตั้งส่วนขยายโดยใช้.crxไฟล์และเก็บ.pemไฟล์ให้ปลอดภัย

  5. คัดลอก.crxID ส่วนขยายที่ติดตั้งไปยังรายการที่อนุญาตและรีสตาร์ท Chrome

ป๊อปอัปควรจะหายไป


4
@Ryan หน้าแรกของเทมเพลตนโยบายเหล่านั้นน่าจะเป็นchromium.org/administrators/policy-templatesเว็บไซต์นี้มีการปรับปรุงเป็นประจำ (อัปเดตครั้งล่าสุด 54 นาทีที่ผ่านมา) ฉันใช้วิธีนี้ในวันที่ 24 มิถุนายนและการกำหนดค่าทำงานกับเวอร์ชันล่าสุดของ Chrome ในวันนี้ หากคุณต้องการ«ไม่สามารถปิดการใช้งาน»เป็นเวอร์ชันอย่างเป็นทางการ - เป็นทางเลือกของคุณ;)
Antony Hatchkins

1
ฉันจะแก้ไขปัญหาผ่านทางตัวเลือกไดร์เวอร์ซีลีเนียม Chrome ดูที่นี่
kriegaex

1
@Antony Hatchkins ฉันใช้รหัสที่ปรับปรุงแล้วจากคำตอบนี้stackoverflow.com/questions/30287907/และมันก็เริ่มทำงานอีกครั้ง ขอบคุณสำหรับปฏิกิริยา!
ผู้สร้างท่อ

1
Windows ของฉันคือ Home Premium ฉันไม่มี gpedit.msc: /
Lucas Bustamante

1
ใช้งานได้สำหรับฉันใน Chrome 58.0.3029.81 ชนะ 7 x64 :) หวังว่าโซลูชันนี้จะคงอยู่!
Jimadine

36

ขณะสร้างไดรเวอร์ Chrome ให้ใช้ตัวเลือกเพื่อปิดการใช้งาน มันทำงานได้โดยไม่ต้องมีส่วนขยายใด ๆ

ใช้ข้อมูลโค้ดต่อไปนี้

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
เราควรเขียนสิ่งนี้ที่ไหน
İbrahimÖzbölük

เพิ่มไปยังรายการไฟล์ Protractor conf.js ของฉันและใช้งานได้ ขอบคุณมาก :)
ghiscoding

2
มันใช้งานได้ดีมาก ใน C # รหัสคือ:options.AddArgument("--disable-extensions");
kirbycope

4
วันนี้ฉันต้องใช้options.AddArguments("chrome.switches", "--disable-extensions --disable-extensions-file-access-check --disable-extensions-http-throttling");แทน `- ปิดการใช้งานส่วนขยาย ฉันคิดว่าสามารถยกเลิกสวิตช์เพิ่มเติมได้ แต่ไม่ใช่ทั้งสองอย่าง
Anders Lindén

14
คุณช่วยอธิบายมันหน่อยได้ไหมสำหรับมนุษย์มรรตัย? สิ่งที่เป็นสคริปต์ที่หรือที่จะนำมัน ...
T.Todua

23

ตั้งแต่เดือนพฤษภาคม 2558 Chrome เบต้า / dev / canaryบน Windows (ดูบรรทัดที่ 75-78) จะแสดงคำเตือนนี้เสมอ

  • ฉันเพิ่ง patched chrome.dll (ช่อง dev, 32- บิต) โดยใช้รุ่นสาธิต hiew32: เรียกใช้, เปลี่ยนเป็นมุมมอง hex (Enter key), ค้นหาExtensionDeveloperModeWarning (F7) แล้วกด F6 เพื่อค้นหารหัสอ้างอิงไปที่บรรทัดINC EAXใกล้เคียงซึ่งตามมาด้วย RETN กด F3 เพื่อแก้ไขพิมพ์ 90 แทน 40 ซึ่งจะแสดงผลเป็น NOP (no-op), บันทึก (F9)

  • วิธีการที่ง่ายขึ้นโดย @Gsx ซึ่งใช้งานได้กับ Chrome dev 64 บิต:

    1. เรียกใช้การสาธิต hiew32 (ในโหมดผู้ดูแลระบบ) และเปิด Chrome.dll
    2. เปลี่ยนเป็นมุมมอง hex ( Enterกุญแจ)
    3. ค้นหาExtensionDeveloperModeWarning ( F7)
    4. กดF3เพื่อแก้ไขและแทนที่อักษรตัวแรก "E" ด้วยอักขระอื่น
    5. บันทึก ( F9)
  • patch.BAT ต้นฉบับ

ของหลักสูตรนี้จะคงอยู่จนกว่าจะมีการอัปเดตครั้งต่อไปดังนั้นผู้ที่ต้องการมันบ่อยครั้งอาจเขียน auto-patcher หรือ launcher ที่ติดตั้ง dll ในหน่วยความจำ


สวัสดีฉันกำลังพยายามแก้ไขด้วย hiew32demo แต่ฉันไม่สามารถทำได้ เมื่อฉันเปิด chrome.dll ฉันได้รับHiew Demo doesn't support NE/LX/LE/NLM/ELF/PE64 filesแต่ฉันสามารถข้ามคำเตือนนั้นได้ จากนั้นฉันเปลี่ยนโหมดด้วย F4 เพื่อถอดรหัสและค้นหาExtensionDeveloperMoตั้งแต่ _ExtensionDeveloperModeWarning _ ไม่พอดี หลังจากที่พบว่ามันกด F6 Target not foundแต่ฉันได้รับ คุณช่วยฉันได้ไหม
Gsx

1
ฉันไม่พบ '4578 7465 6e73 696f 6e44 6576' ('ExtensionDev') ใน chrome.dll วิธีนี้ยังใช้งานได้หรือไม่
Emerson

Gsx วิธีการของฉันทำงานกับ Chrome แบบ 32 บิตบนช่อง dev
wOxxOm

2
Emerson การเปลี่ยนแปลงนี้มีลงในช่อง Dev เมื่อสัปดาห์ที่แล้วดังนั้นจึงไม่ใช่ใน Stable คุณจะต้องค้นหาสถานที่ที่เกี่ยวข้องด้วยการวิเคราะห์ซอร์สโค้ดรุ่นก่อนหน้า
wOxxOm

1
@wOxxOm นั่นก็ล้มเหลวเช่นกัน แต่ฉันได้พบวิธีแปลก ๆ XD ฉันค้นหาExtensionDeveloperMoและเปลี่ยนเป็นEXtensionDeveloperMoและดูเหมือนว่าจะใช้งานได้
Gsx

7

ไม่สามารถปิดการใช้งาน การอ้างอิง: "ขออภัยเรารู้ว่ามันน่ารำคาญ แต่คุณเป็นผู้เขียนมัลแวร์ ... "

ตัวเลือกเดียวของคุณคือ: ปรับการทดสอบอัตโนมัติของคุณให้เข้ากับพฤติกรรมใหม่นี้หรืออัปโหลดสคริปต์ที่ละเมิดไปยัง Chrome เว็บสโตร์ (ซึ่งสามารถทำได้ในแบบ "ไม่แสดง")


66
มีหลายพันเหตุผลที่ฉันไม่สามารถใช้ส่วนขยาย / แอพของฉันใน webstore ได้ฉันจำเป็นต้องเรียกใช้ภายในเครื่อง นี่เป็นการใช้งานที่ชั่วร้ายมากจากทีม Google Chromium ชั่วร้ายมากคนที่มีความรู้ควรถกเถียงกับ Chromium และแก้ไขให้ถูกต้อง ปัญหาที่น่ากลัวและไม่ได้ชื่นชมอย่างจริงจัง คำตอบทั้งหมดของปัญหานี้เป็นเพียงการฆ่าคนที่ทำงานในโครงการซุ้ม ฝันร้ายของมัน โปรดแจ้ง / เคาะ / หักบัญชีกับชุมชน Chromium เพื่อแก้ไขปัญหานี้

4
มันจะเป็นเรื่องของเวลาจนกว่าคุณจะไม่สามารถพัฒนาอะไรอีกต่อไปใช้ Chrome :)
Vinz

1
ใช่มันเป็นเพราะมัลแวร์ ... เราไม่ได้พยายามที่จะรบกวนคนที่ใช้ส่วนขยายที่เราบล็อกจากร้านค้าของเราอย่าง Dissenter ...
Chris_F

ฉันต้องการเพิ่มรหัสรายการที่กำหนดเองและการอัปโหลดไปยังร้านค้าบนเว็บไม่ใช่ตัวเลือก
ผลไม้

5

(ในการตอบกลับถึง Antony Hatchkins)

นี่เป็นวิธีที่เป็นทางการอย่างแท้จริงในการตั้งค่านโยบายของ Chrome: https://support.google.com/chrome/a/answer/187202?hl=th

เทมเพลต Windows และ Linux รวมถึงเอกสารนโยบายทั่วไปสำหรับระบบปฏิบัติการทั้งหมดสามารถดูได้ที่นี่: https://dl.google.com/dl/edgedl/chrome/policy/policy_templates.zip (ไฟล์ซิปของเทมเพลต Google Chrome และเอกสารประกอบ)

คำแนะนำสำหรับ Windows (ด้วยการเพิ่มของฉัน):

เปิดเทมเพลต ADM หรือ ADMX ที่คุณดาวน์โหลด:

  • แยก "chrome.adm" ในภาษาที่คุณเลือกจาก "policy_templates.zip" ที่ดาวน์โหลดมาก่อนหน้านี้ (เช่น "policy_templates.zip \ windows \ adm \ en-US \ chrome.adm")
  • นำทางไปที่ Start> Run: gpedit.msc
  • ไปที่นโยบายคอมพิวเตอร์เฉพาะที่> การกำหนดค่าคอมพิวเตอร์ / ผู้ใช้ > เทมเพลตการดูแลระบบ
  • คลิกขวาที่แม่แบบการดูแลและเลือกเพิ่ม / ลบแม่แบบ
  • เพิ่มเทมเพลต "chrome.adm" ผ่านช่องโต้ตอบ
  • เมื่อสร้างเสร็จแล้วโฟลเดอร์เทมเพลตการดูแลระบบคลาสสิก (ADM) / Google / Google Chrome จะปรากฏใต้เทมเพลตการดูแลระบบ
  • ไม่ว่าคุณจะเพิ่มแม่แบบภายใต้การกำหนดค่าคอมพิวเตอร์หรือการกำหนดค่าผู้ใช้การตั้งค่าจะปรากฏในทั้งสองแห่งดังนั้นคุณสามารถกำหนดค่า Chrome ได้ที่เครื่องหรือในระดับผู้ใช้

เมื่อคุณทำกับเรื่องนี้ยังคงมาจากขั้นตอนที่ 5 ของคำตอบที่แอนโทนี Hatchkins' หลังจากที่คุณเพิ่ม ID ส่วนขยายแล้วคุณสามารถตรวจสอบว่านโยบายทำงานใน Chrome ได้ด้วยการเปิดchrome://policy(ค้นหาExtensionInstallWhitelist )


ขอบคุณ Panther เพิ่มเท็มเพลต "chrome.adm" ผ่านทางกล่องโต้ตอบและได้รับข้อผิดพลาดนี้: รายการต่อไปนี้ใน [strings] ส่วนยาวเกินไปและถูกตัดทอน ตามมาด้วยหน้า Cyrillic หรือไม่?
สตีฟสเตเปิล

ใช้ @ เพื่อแจ้งเตือนผู้ใช้รายอื่นเกี่ยวกับโพสต์ของคุณโดยอัตโนมัติ (เช่น @Panther)
Antony Hatchkins

@SteveStaple ขออภัย แต่ฉันไม่รู้ว่าอะไรเป็นสาเหตุของปัญหาดังกล่าว :( ฉันไม่ใช่ผู้เชี่ยวชาญในเรื่องนี้เพียงแค่ทำตามคำแนะนำจากหน้าเว็บที่ฉันเชื่อมโยงโชคดีที่มันใช้งานได้สำหรับฉัน
Panther

4

การตั้งค่าปิดใช้งานส่วนขยายไม่ทำงานสำหรับฉัน ฉันใช้คลาสRobot แทนคลิกปุ่มยกเลิก

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();
    }
  }
}

คำตอบนี้ไม่ได้รับการจัดอันดับเนื่องจากสามารถปรับให้เป็นงานคลิกปุ่ม GUI อื่น ๆ ที่ไม่สามารถหลีกเลี่ยงได้โดยอัตโนมัติ
D Adams

@momomo เห็นได้ชัดว่ามันสามารถตั้งค่าใน config หรืออะไรบางอย่าง แต่นี่เป็นเพียงตัวอย่างรหัส
Steve Smith

4

มีทางเลือกอื่นให้ใช้Chrome-Developer-Mode-Extension-Warning-Patcher :

  1. ดาวน์โหลดรีลีสล่าสุดจากที่นี่จาก Github
  2. ปิด Chrome
  3. คลายไฟล์ zip และเรียกใช้ ChromeDevExtWarningPatcher.exe ในฐานะผู้ดูแลระบบในฐานะผู้ดูแล
  4. เลือกการติดตั้ง Chrome ของคุณจาก GUI ที่เพิ่งเปิดจากนั้นคลิกที่ปุ่ม Patch:

ป้อนคำอธิบายรูปภาพที่นี่

  1. เพลิดเพลินกับ Chrome โดยไม่มีป๊อปอัป DevMode!

3

ฉันกำลังทุกข์ทรมานจากปัญหาเดียวกันและฉันพยายามต่อไปนี้:

  1. แพ็คส่วนขยายที่คลายการแพค
  2. ปิดโหมดผู้พัฒนา
  3. ลากและวางไฟล์. crx จากส่วนขยายที่จัดแน่น
  4. ปิด Chrome จากนั้นเปิดอีกครั้ง

สิ่งที่ควรทราบ:

  • ไฟล์. pem ควรเก็บไว้ด้วย. crx
  • อย่าวาง. crx และ. pem ไว้ในโฟลเดอร์ของส่วนขยายที่คลายการแพค

เมื่อฉันเปิด Chrome อีกครั้งฉันได้รับป๊อปอัพที่บอกฉันเกี่ยวกับส่วนขยายที่บรรจุใหม่ดังนั้นฉันรีบูต Chrome เพื่อดูว่ามันจะทำอีกครั้งหรือไม่

ฉันหวังว่าโซลูชันนี้ใช้งานได้!


ฉันได้รับ "ป๊อปอัพส่วนขยายที่ไม่รองรับ" หลังจากใช้วิธีการของคุณ ดูคำตอบของฉันสำหรับรายละเอียดวิธีการปิดการใช้งานเช่นกัน
Antony Hatchkins

ฉันได้รับ "แอปส่วนขยายและสคริปต์ผู้ใช้ไม่สามารถเพิ่มจากเว็บไซต์นี้"
johny ทำไม

2

ตามคำตอบของAntony Hatchkins :

วิธีการอย่างเป็นทางการที่จะปิดการใช้งานป๊อปอัพที่ดูเหมือนว่าจะเป็นเช่นนี้

  1. แพ็คส่วนขยายของคุณ ( chrome://extensions/ทำเครื่องหมายที่ 'โหมดนักพัฒนาซอฟต์แวร์' กด 'แพ็คส่วนขยาย ... ') และติดตั้งผ่านการลากและวาง.crxไฟล์ลงในchrome://extensionsหน้า

    (เนื่องจากส่วนขยายไม่ได้มาจาก Chrome เว็บสโตร์จึงจะปิดใช้งานโดยค่าเริ่มต้น)

จากนั้นสำหรับ Windows:

  1. ใน Chrome ไปที่หน้าส่วนขยาย ( chrome: // Extensions )
  2. ตรวจสอบช่องทำเครื่องหมายโหมดนักพัฒนาซอฟต์แวร์ที่ด้านบน
  3. เลื่อนลงรายการส่วนขยายที่ปิดใช้งานและจดบันทึก ID ของส่วนขยายที่คุณต้องการเปิดใช้งาน ตัวอย่างเช่น LogMeIn คือ ID:nmgnihglilniboicepgjclfiageofdfj
  4. คลิกStart> Runและพิมพ์regedit <ENTER>
  5. ภายใต้คีย์ HKLM\Software\Policies\Google\Chrome\ExtensionInstallWhitelist (สร้างหากไม่มี) สร้างสตริงใหม่สำหรับส่วนขยายแต่ละรายการที่คุณต้องการเปิดใช้งานด้วยชื่อตามลำดับ (ดัชนี) เช่น 1, 2, ...
  6. ป้อน ID ส่วนขยายเป็นค่าสตริงในลำดับใดก็ได้ ตัวอย่างเช่นมีสตริงที่มีชื่อ1และค่าnmgnihglilniboicepgjclfiageofdfj
  7. รีสตาร์ท Chrome

แค่นั้นแหละ!

หมายเหตุ:เมื่อคุณอัปเดตส่วนขยายที่อยู่ในรายการที่อนุญาตคุณไม่ต้องทำตามขั้นตอนเดียวกันเนื่องจาก ID ของส่วนขยายนั้นจะไม่เปลี่ยนแปลง


ลากแล้วปล่อย.crxไฟล์เพียงป๊อปอัปsave as windowและจะไม่ติดตั้ง Chrome รุ่น 80.0.3987.163
xyz

1
ไม่พบคีย์รีจิสตรีสำหรับ edge chromium
JinSnow

@xyz ลากแล้วปล่อย.crxไฟล์ติดตั้งส่วนขยายในเวอร์ชั่น 81.0.4044.122 @JinSnow ดูที่Microsoft Edge - นโยบาย - ExtensionInstallAllowlist
Burak Gök

1

1) รอให้บอลลูนปรากฏขึ้น

2) เปิดแท็บใหม่

3) ปิดแท็บใหม่ ป๊อปอัปจะหายไปจากแท็บเดิม

ส่วนขยาย Chrome ขนาดเล็กสามารถทำตามขั้นตอนเหล่านี้ได้โดยอัตโนมัติ:

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);

});

เมื่อติดตั้งส่วนขยายนี้แล้วให้เปิด Chrome และสลับแอปทันทีก่อนที่ป๊อปอัปจะปรากฏ ... สองสามวินาทีต่อมาป๊อปอัปจะหายไปและคุณจะไม่เห็นมันเมื่อคุณเปลี่ยนกลับเป็น Chrome


(เคล็ดลับโบนัส 1)เมื่อใช้ซีลีเนียมคุณสามารถเปิดหน้าต่างใหม่ได้ทันทีรอป๊อปอัพในหน้าต่างใหม่แล้วปิดหน้าต่างใหม่เพื่อยกเลิกป๊อปอัป stackoverflow.com/a/36507179/3345375
jkdev

2
(เคล็ดลับโบนัส 2)คุณสามารถลองนี้: เพิ่มธง--enable-automationเพื่อหลีกเลี่ยงการได้รับป๊อปอัพ
jkdev

2
สิ่งนี้ไม่ได้ผลสำหรับฉัน Win 10, Chrome ทันสมัย หลังจากทำตามขั้นตอนแล้วป๊อปอัปยังคงอยู่
freginold

@freginold เพื่อหาว่าอะไรทำงานได้ฉันต้องทดสอบกับลำดับต่างๆของการเปิดและปิดแท็บ / หน้าต่าง ลำดับอาจแตกต่างกันสำหรับระบบปฏิบัติการรุ่นอื่นและเบราว์เซอร์
jkdev

@jkdev สวิตช์บรรทัดคำสั่ง--enable-automationมีผลข้างเคียงที่น่ารังเกียจ: divปรากฏขึ้นที่ด้านบนของแต่ละหน้าจนกว่าจะถูกไล่ออก (จากนั้นจะหยุดปรากฏ) ป๊อปอัพโหมดผู้พัฒนาสามารถปิดโดยการกดปุ่ม ESC เมื่อมันปรากฏขึ้นครั้งแรก น่ารำคาญในทั้งสองกรณี!
จอร์จ

0

ฉันกำลังทำงานบน Windows และฉันได้ลองทำสิ่งต่าง ๆ มากมายที่ให้ไว้ที่นี่เป็นคำตอบ แต่ป๊อปอัปถูกปิดใช้งานส่วนขยายอย่างต่อเนื่องจากนั้นฉันได้ลองทำตามขั้นตอนและมันใช้งานได้ทันที:

  1. ไปที่chrome: //หน้าขยายและคลิกPack extensionปุ่มและเลือกรูท Directory of extension ของคุณโดยคลิกที่ปุ่มเรียกดูสี่เหลี่ยมผืนผ้าสีแดงที่แสดงในภาพด้านล่าง

เรียกดูไดเรกทอรีรากของส่วนขยาย

  1. หลังจากเลือกไดเรกทอรีรากคลิกที่Pack extensionปุ่มที่ปรากฏในวงกลมสีแดงในภาพด้านล่าง

ป้อนคำอธิบายรูปภาพที่นี่

  1. ตอนนี้ในการตรวจสอบparent directoryของที่คุณเลือกroot directoryของส่วนขยาย, 2 ไฟล์จะได้สร้างและ[extension name].crx[extension name].pem

  2. ตอนนี้เพียงแค่ลากและวาง[extension name].crxไฟล์ลงบนหน้า chrome: // extensions และมันจะขอให้ใช้กล่องโต้ตอบเพิ่มแอพคลิกที่Add appและรีเฟรชหน้ามันติดตั้งทันที

หมายเหตุ: ก่อนที่จะทำอะไรที่เป็นยี่ห้อดังกล่าวข้างต้นให้แน่ใจว่าจะเปิดใช้งานโหมดผู้พัฒนาสำหรับส่วนขยาย หากไม่ได้เปิดใช้งานให้รีเฟรชหน้า chrome: // extensions หลังจากเปิดใช้งาน


1
ส่วนขยายที่คลายการแพคนั้นทำงานได้กับคำเตือนโหมดนักพัฒนาซอฟต์แวร์ แต่ด้วย crx ส่วนขยายจะถูกปิดใช้งานเสมอ google ต้องการส่วนขยายที่จะเผยแพร่ในเว็บสโตร์และติดตั้งจากที่นั่น
gp

Chrome ไม่อนุญาตให้ผู้ใช้ติดตั้งส่วนขยายแพ็คเกจและกล่าวว่าแพคเกจไม่ถูกต้อง: CRX_REQUIRED_PROOF_MISSING
Harshit Juneja

@HarshitJuneja อาจเป็นเพราะคุณต้องกำหนดรหัสส่วนขยายที่อนุญาตพิเศษแล้วรีสตาร์ท Chrome
Haritsinh Gohil

0

คำถามนี้เก่ามาก แต่ก็ยังเป็นผลลัพธ์อันดับต้น ๆ ของ google เมื่อคุณค้นหาวิธีปิดการใช้งานข้อความป๊อปอัพนี้ในฐานะนักพัฒนาส่วนขยายที่ยังไม่ได้เพิ่มส่วนขยายไปยังที่จัดเก็บ Chrome ไม่สามารถเข้าถึงนโยบายกลุ่มได้ สู่ระบบปฏิบัติการของพวกเขาและไม่ได้ใช้การสร้าง chrome dev ขณะนี้ไม่มีวิธีแก้ปัญหาอย่างเป็นทางการในกรณีนี้ดังนั้นฉันจะโพสต์ข้อความที่ค่อนข้าง 'แฮ็ค' ที่นี่

วิธีนี้ทำให้เราสร้างหน้าต่างใหม่ทันทีและปิดหน้าต่างเก่า หน้าต่างป๊อปอัปเกี่ยวข้องกับหน้าต่างเดิมดังนั้นในกรณีการใช้งานปกติป๊อปอัพจะไม่ปรากฏขึ้นเนื่องจากหน้าต่างนั้นปิด

ทางออกที่ง่ายที่สุดที่นี่คือเราสร้างหน้าต่างใหม่และเราปิดหน้าต่างทั้งหมดที่ไม่ใช่หน้าต่างที่เราเพิ่งสร้างขึ้นในการติดต่อกลับ:

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);
            }
        }
    });
});

นอกจากนี้เราสามารถตรวจพบว่ามีการติดตั้งส่วนขยายนี้อย่างไรและเรียกใช้รหัสนี้เฉพาะเมื่อเป็นการติดตั้งเพื่อการพัฒนา (แม้ว่าอาจเป็นการดีที่สุดที่จะลบทั้งหมดออกจากรหัสการเปิดตัว) ก่อนอื่นเราสร้างฟังก์ชั่นการโทรกลับสำหรับการโทร chrome.management.getSelf ซึ่งช่วยให้เราสามารถตรวจสอบประเภทการติดตั้งของส่วนขยายได้

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);
                    }
                }
            });
        });
    }
}

ต่อไปเราจะเรียก chrome.management.getSelf ด้วยการติดต่อกลับที่เราทำ:

chrome.management.getSelf(suppress_dev_warning);

วิธีนี้มีข้อแม้บางประการกล่าวคือเรากำลังสมมติหน้าพื้นหลังแบบถาวรซึ่งหมายความว่าโค้ดจะทำงานเพียงครั้งเดียวเมื่อเปิด Chrome ครั้งแรก ปัญหาที่สองคือถ้าเราโหลด / รีเฟรชส่วนขยายจากหน้า chrome: // extensions มันจะปิดหน้าต่างทั้งหมดที่เปิดอยู่และในประสบการณ์ของฉันบางครั้งก็แสดงคำเตือนต่อไป กรณีพิเศษนี้สามารถหลีกเลี่ยงได้โดยการตรวจสอบว่ามีแท็บใดที่เปิดให้ "chrome: // Extensions" และไม่ทำงานถ้าเป็นเช่นนั้น



0

ฉันพบสิ่งที่จะโหลดส่วนขยายที่บรรจุโดยผู้ใช้และทำงานได้อย่างสวยงาม:

คุณจะยังคงต้องบรรจุรายละเอียดสำหรับส่วนขยายปัญหา แต่หลังจากนั้นคุณสามารถปิดโหมดผู้พัฒนาและโหลด CRX ที่บรรจุได้ คุณไม่ต้องจัดการกับการเซ็นชื่อหรืออะไรก็ตาม

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

หมายเหตุ: ฉันไม่ได้มาจากทีมของพวกเขาฉันแค่มองหาโซลูชันที่สง่างามสำหรับสิ่งนี้มานานหลายปี



-1

สำหรับทุกคนที่ใช้WebdriverIOคุณสามารถปิดการใช้งานส่วนขยายได้โดยสร้างไคลเอนต์ของคุณเช่นนี้:

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

OP ไม่ได้ใช้ WebDriverIO OP ยิ่งไปกว่านั้นขอให้ปิดการใช้งานป๊อปอัพ แต่คุณไปปิดการใช้งานส่วนขยายแทน
Cardin Lee JH

-1

ฉันไม่แน่ใจว่าปัญหานี้ยังคงเป็นปัญหาสำหรับคนหรือไม่ อย่างไรก็ตามฉันอ่านโพสต์นี้และคนอื่น ๆ และในที่สุดก็เล่นกับมันและสามารถทำให้มันทำงานใน C # โดยใช้รหัสนี้ ฉันได้รับมันทั้งหมดจากโพสต์นี้และเป็นไปได้บางโพสต์ที่เชื่อมโยงกับโพสต์นี้

ฉันหวังว่าสิ่งนี้จะช่วยได้แน่นอนฉันจะแก้ไขปัญหาของฉันในแอปพลิเคชันคอนโซล C #

ใช้ไดร์เวอร์เซิร์ฟเวอร์ Chrome Selenium 2.9 เวอร์ชัน 52.0.2743.116

        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/";

ใช้งานได้อย่างมีเสน่ห์ (C # WebDriver 2.53.1.0, ChromeDriver 2.20.353145, Win7 x64)
Alessandro Da Rugna

-1

ตอนนี้เราต้องจัดการมันโดยใช้สิ่งต่อไปนี้ -

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

นอกจาก--disable-extensionsนี้เรายังต้องเพิ่มสวิตช์โครเมี่ยม--disable-extensions-file-access-check(และ / หรือ)--disable-extensions-http-throttling


-2

น่าเสียดายที่ฉันไม่สามารถตั้งค่าให้เป็นโหมดนักพัฒนาซอฟต์แวร์โดยอัตโนมัติเนื่องจากข้อ จำกัด ด้านความกว้างโดยใช้เบราว์เซอร์ในโหมด iphone ฉันพบวิธีแก้ปัญหาที่เป็นอันตรายในตอนนี้ติดตั้ง Chrome รุ่น dev channel มันไม่มีข้อความเตือน แต่ฉันแน่ใจว่ามันจะทำให้ฉันมีปัญหามากขึ้นในระยะยาวเมื่อมีปัญหาเกิดขึ้น ยังหวังว่าจะให้ฉันสองสามวันเพื่อหาวิธีแก้ปัญหา


นอกจากนี้คุณยังสามารถใช้ช่องเบต้า มันมีเสถียรภาพมากกว่า dev ในขณะเดียวกันก็มีคุณสมบัติมากกว่าแชนเนลที่เสถียร
Rob W

1
@RobW asargent บอกว่ามีป๊อปอัปในช่องเบต้าด้วย มันผิดหรือเปล่า? code.google.com/p/chromium/issues/detail?id=337734#c2
rsanchez

1
@rsanchez เพิ่งลองใช้ Windows และคุณถูกต้อง ขอบคุณสำหรับการแก้ไข ฉันใช้ Linux ดังนั้นฉันจึงไม่ประสบปัญหานี้ (:
Rob W

สิ่งนี้ใช้งานไม่ได้อีกแล้ว: blog.chromium.org/2015/05/…
Xan

@RobW คุณสามารถโพสต์การอัปเดตเกี่ยวกับข้อบกพร่องหรือไม่ (เป็นRestrict-AddIssueComment-EditIssue)
Xan

-4

เมื่อใช้ซีลีเนียมกับ Python คุณจะสามารถเริ่มใช้งานไดร์เวอร์โดยปิดใช้งานส่วนขยายดังนี้:

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

ป๊อปอัพ 'ปิดใช้งานส่วนขยายโหมดนักพัฒนาซอฟต์แวร์' จะไม่ปรากฏขึ้น


OP ถามวิธีปิดการใช้งานป๊อปอัพคุณตัดสินใจปิดการใช้งานส่วนขยายแทน : /
Cardin Lee JH
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.