puppeteer(六)啓動參數——瀏覽器擴展應用的添加及應用

 前言

最近再作瀏覽器的自動化,首頁是定製化的,是經過extension(擴展)實現的,因爲經過puppeteer默認是以無參(即首次以乾淨的環境)運行的,致使登陸頁沒法正常顯示,首先想固然是直接找擴展crx插件,結果是以失敗了結,開始覺得是調的方式方法不正確,最後詢問幾個大蝦,都一致認爲是在userdata下的擴展。以下兩張圖的對比html

 

 代碼 

 

const puppeteer = require('puppeteer'); //導入模塊
const path = require('path');

(async () => {
  let username = 'tester02'; //需求根據不一樣用戶修改
 
  const ext='C:/Users/tester02/AppData/Local/AllMobilize/Enterplorer/User Data/Default/Extensions';
  const exepath = 'C:/Users/' + username + '/AppData/Local/Axxx/Enterplorer/Application/enterplorer.exe';  
  const userData = 'C:/Users/' + username + '/AppData/Local/Axxx/Enterplorer/User Data';
  const newtabEx = path.join(ext,"milhmifoljmifighlanebdlekdjhbibd/1.3.2_0/");
  const newtabEx2 = path.join(ext,"ahejmjlfdnkngmajdfanadcgmdmgahda/2.2.0_0");
  const newtabEx3 = path.join(ext,"bkcbnbbmeifnhooabnknahjpbfblbjfb/1.0.15_0");
  const newtabEx4 = path.join(ext,"pgigkojhmdneillbbpcajchbggkphhjp/2.5_0");
 
  console.log(newtabEx1)

 
  // const pathToExtension = path.resolve(ext);  --disable-extensions-except=  ,`--load-extension=${newtabEx1}`.`--custom-launcher-page=${newtabEx1}`,
  const browser = await puppeteer.launch({
    executablePath:exepath, 
    ignoreDefaultArgs:true,
    ignoreHTTPSErrors:true,
    headless:false, 
    slowMo:20, 
    userDataDir: userData,
    args : ['--no-sandbox', '--window-size=1366,850',`--disable-extensions-except=${newtabEx},${newtabEx2},${newtabEx3},${newtabEx4}`]  //主要就是這一句容許例外
  });
 
  const page = await browser.newPage();  
  page.setViewport({'width': 1366, 'height': 768});
  await page.waitFor(2000);
  await page.goto('chrome-extension://milhmifoljmifighlanebdlekdjhbibd/newtab/Home.html');//這一句打開擴展插件  
  await page.click("#server-setting");
  await page.type('#domain',"124.193.66.66:30080");
  await page.click('#img_arrow');
  await page.click('#domain_protocal_change>li:nth-child(2)');
  await page.click('#next-btn');  

  await page.waitFor(5000);

  await browser.close();
})();

 插件的信息如何查看

方法1、打開sources默認打開當前的路徑chrome

方法2、console>命令行輸入location瀏覽器

相關文章
相關標籤/搜索