puppeteer chrome/chrome canary 登入瀏覽器
如果你的自動化測試場景有需要登入Chrome去authorize的話,肯定會用到這些步驟的
之前用selenium也實驗過用本地的profile去模擬已經登入的場景,但是當點選去登入時,頁面一直轉轉轉,一片空白,一片空白,空白
轉戰puppeteer之後,可以正常開啟authorization頁面耶,這是成功的表現
親兒子鴨
官方資料顯示,在使用puppeteer去操作authorize的時候,不能使用chromium(我本地使用chromium去登入時就沒登入上去過),so 需要在launch browser時必須指定要執行的browser(預設是使用chromium),請使用executablePath,Chrome和 Chrome canary都可以支援
executablePath:'/Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary',
executablePath:'/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome',
and then,也需要指定你本地已經登入到瀏覽器的profile
userDataDir:'~/Documents/Google/Chrome',
本地的profile最好是拷貝到一個路徑下,每次要測試authorize的時候,都需要操作一步拷貝的動作,因為每次執行完之後profile都會被新的操作覆蓋,不是“乾淨”的了
摘自官方的程式碼puppeteer user-data-dir
const puppeteer = require('puppeteer');
(async () => {
const datadir = '/tmp/profile/';
const browser = await puppeteer.launch({
// Ask puppeteer to run Chrome Canary
executablePath: '/Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary',
headless: false,
userDataDir: datadir,
});
const page = await browser.newPage();
await page.goto('https://example.com');
await page.screenshot({ path: 'example.png', fullPage: true });
await browser.close();
})();
如果launch browser以後,有new一個新的page,新page的登入狀態沒有帶過去,要在自啟動的browser上new tab即可
相關文章
- Google Chrome瀏覽器GoChrome瀏覽器
- 安裝Chrome瀏覽器Chrome瀏覽器
- Chrome瀏覽器擴充套件開發系列之九:Chrome瀏覽器的chrome.alarms.* APIChrome瀏覽器套件API
- chrome + puppeteerChrome
- ubuntu chrome瀏覽器安裝UbuntuChrome瀏覽器
- Google Chrome for Mac(谷歌瀏覽器)GoChromeMac谷歌瀏覽器
- Ubuntu 安裝Chrome瀏覽器UbuntuChrome瀏覽器
- ubuntu安裝chrome瀏覽器UbuntuChrome瀏覽器
- 有用的 Chrome 瀏覽器命令Chrome瀏覽器
- Chrome瀏覽器手動新增CookieChrome瀏覽器Cookie
- Mac下chrome瀏覽器跨域MacChrome瀏覽器跨域
- 工具篇---Chrome瀏覽器快捷鍵Chrome瀏覽器
- 谷歌(chrome)瀏覽器快捷鍵大全谷歌Chrome瀏覽器
- Mac 下 Chrome 瀏覽器 快捷鍵MacChrome瀏覽器
- Chrome瀏覽器之 Postman 安裝Chrome瀏覽器Postman
- Elementary OS安裝Chrome瀏覽器Chrome瀏覽器
- Chrome已成瀏覽器安全標準Chrome瀏覽器
- Chrome 瀏覽器擴充套件 - Dark Web - Dark Theme for ChromeChrome瀏覽器套件Web
- Chrome 瀏覽器修改 UA 模擬其它瀏覽器,包括移動瀏覽器Chrome瀏覽器
- 使用chrome瀏覽器驅動自動開啟瀏覽器Chrome瀏覽器
- chrome禁用js怎麼設定 如何禁止chrome瀏覽器JavaScriptChromeJS瀏覽器JavaScript
- 如何正確解除安裝Chrome瀏覽器及其元件Keystone?有哪些瀏覽器可以替代Chrome?Chrome瀏覽器元件
- Chrome瀏覽器實用外掛集合Chrome瀏覽器
- 前端chrome瀏覽器除錯總結前端Chrome瀏覽器除錯
- 禁用edge、chrome瀏覽器自動更新Chrome瀏覽器
- Chrome 瀏覽器 131 版本新特性Chrome瀏覽器
- Chrome瀏覽器擴充套件開發系列之三:Google Chrome瀏覽器擴充套件的架構Chrome瀏覽器套件Go架構
- Chrome瀏覽器擴充套件開發系列之二:Google Chrome瀏覽器擴充套件的除錯Chrome瀏覽器套件Go除錯
- Chrome瀏覽器擴充套件開發系列之十六:擴充套件中可用的Chrome瀏覽器APIChrome瀏覽器套件API
- 了不起的Chrome瀏覽器(13):Chrome 100支援多屏應用了!Chrome瀏覽器
- Chrome瀏覽器擴充套件開發系列之四:Browser Action型別的Chrome瀏覽器擴充套件Chrome瀏覽器套件型別
- Chrome瀏覽器擴充套件開發系列之五:Page Action型別的Chrome瀏覽器擴充套件Chrome瀏覽器套件型別
- Chrome 瀏覽器擴充套件 - Night EyeChrome瀏覽器套件
- 從 Chrome 看瀏覽器的渲染機制Chrome瀏覽器
- 最精緻的瀏覽器——Chrome科普貼瀏覽器Chrome
- chrome瀏覽器-Toolbar工具條不顯示Chrome瀏覽器
- chrome瀏覽器最小字號解決方案Chrome瀏覽器
- 瀏覽器安全排行 Chrome技高一籌瀏覽器Chrome