मैं सेलेनियम के साथ एज में लोड एक्सटेंशन कैसे कर सकता हूं?

  • मेरी एक्सटेंशन फ़ाइल एपीएक्स फ़ाइल है।
  • मैंने पहले से ही क्रोम के लिए लोडिंग एक्सटेंशन (.crx फ़ाइल के साथ) के साथ काम किया है और मैं एज के साथ भी ऐसा ही करना चाहता था, लेकिन यह वही काम नहीं करता है।

क्रोम उदाहरण:

ChromeOptions options = new ChromeOptions();  
options.addExtensions(new File("/path/to/extension.crx"));  
DesiredCapabilities capabilities = new DesiredCapabilities();    
capabilities.setCapability(ChromeOptions.CAPABILITY, options);  
ChromeDriver driver = new ChromeDriver(capabilities);  

किनारा:

EdgeOptions options = new EdgeOptions();

लेकिन एज के लिए "ऐडएक्सटेंशन" मौजूद नहीं है।

1
Nili Karavani 19 फरवरी 2018, 21:40
यह पहले ही देख चुका है। यह 2016 से बहुत पुराना उत्तर है। तब से, किनारे पहले से ही अपने ब्राउज़र पर विस्तार कर चुके हैं।
 – 
Nili Karavani
19 फरवरी 2018, 22:11
मैंने एज सपोर्ट पोर्टल पर भी पाया कि 2016 में उन्होंने अभी तक यह साइडलोडिंग नहीं बनाई थी। तो मुझे लगता है कि शायद यह अब 2018 पर तैयार है और कोई जानता है कि इसका उपयोग कैसे करना है ....
 – 
Nili Karavani
19 फरवरी 2018, 22:17

2 जवाब

एज के लिए, यह थोड़ा अलग है। यह बेहतर होगा यदि आपके पास एक्सटेंशन का अनपैक्ड संस्करण है। तो अगर आप एक्सटेंशन के मालिक हैं तो समाधान आपके काम आएगा। आप नीचे दिए गए कोड के साथ कोशिश कर सकते हैं:

const EDGE_DRIVER = require ('selenium-webdriver/edge');
const extension_dir = ["C:\\Users\\divyanshu_juneja\\AppData\\Local\\Packages\\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\\LocalState\\My_Extension"];
const service = new EDGE_DRIVER.ServiceBuilder().setPort(55555).build();
let options = new EDGE_DRIVER.Options();
options.set("extensionPaths", extension_dir);
let driver = EDGE_DRIVER.Driver.createSession(options, service);
driver.get('http:/google.com/');

यहाँ ध्यान देने योग्य कुछ बातें:

  1. एक्सटेंशन केवल उस विशिष्ट पथ में माना जाता है, बस अपने उपयोगकर्ता नाम को मेरा से बदलें और My_Extension को अपने एक्सटेंशन के अनपैक्ड संस्करण से बदलें (.appx नहीं)।
  2. आपको set फ़ंक्शन का उपयोग करने और ब्राउज़र शुरू करने से पहले ड्राइवर को एक्सटेंशन लोड करने के लिए स्ट्रिंग extensionPaths देने की आवश्यकता है।
0
Divyanshu Juneja 23 अगस्त 2018, 12:05

सेलेनियम संस्करण 3.141.0 और एपियम बीटा 4.0.0.5 के साथ वास्तव में किनारे विकल्प वर्ग में जोड़ा गया एक "AddExtension" विधि है।

0
Mario Mikschovsky 13 फरवरी 2019, 12:38