Gitee pages无法更新
Gitee pages无法更新问题使用Gitee pages部署了Mkdocs的静态页面,经过了多次mkdocs gh-deploy指令(上传到Gitee),Gitee pages上始终无法显示修改过后的静态页面。原因:Gitee免费版需要自己手动在设置里点击更新。...
·
Gitee pages无法更新
问题
使用Gitee pages
部署了Mkdocs
的静态页面,经过了多次mkdocs gh-deploy
指令(上传到Gitee),Gitee pages上始终无法显示修改过后的静态页面。
原因:Gitee免费版需要自己手动在设置里点击更新。
版本
- puppeteer: 8.0.0
- npm: 6.14.11
解决方法
- 安装puppeteer
- 编写脚本更新Gitee Page,参考脚本解决 gitee-page 无法自动更新
创建gitee.js
文件,放入以下部分:// 此处安装版本为 1.8.0 const puppeteer = require('puppeteer'); async function giteeUpdate() { const browser = await puppeteer.launch({ // 此处可以使用 false 有头模式进行调试, 调试完注释即可 headless: false, }); const page = await browser.newPage(); await page.goto('https://gitee.com/login'); // 1. 选中账号控件 let accountElements = await page.$x('//*[@id="user_login"]') // 此处使用 xpath 寻找控件,下同 // 2. 填入账号 await accountElements[0].type('你的 gitee 账户') // 3. 选中密码控件 let pwdElements = await page.$x('//*[@id="user_password"]') // 4. 填入密码 await pwdElements[0].type('你的 gitee 密码') // 5. 点击登录 let loginButtons = await page.$x('//*[@id="new_user"]/div[2]/div/div/div[4]/input') await loginButtons[0].click() // 6. 等待登录成功 await page.waitFor(1000) await page.goto('你的 gitee page 更新按钮页面'); // 比如: https://gitee.com/yang0033/hexo-blog/pages // 7.1. 监听步骤 7 中触发的确认弹框,并点击确认 await page.on('dialog', async dialog => { console.log('确认更新') dialog.accept(); }) // 7. 点击更新按钮,并弹出确认弹窗 let updateButtons = await page.$x('//*[@id="pages-branch"]/div[7]') await updateButtons[0].click() // 8. 轮询并确认是否更新完毕 while (true) { await page.waitFor(2000) try { // 8.1 获取更新状态标签 deploying = await page.$x('//*[@id="pages_deploying"]') if (deploying.length > 0) { console.log('更新中...') } else { console.log('更新完毕') break; } } catch (error) { break; } } await page.waitFor(500); // 10.更新完毕,关闭浏览器 browser.close(); } giteeUpdate();
参考:
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献7条内容
所有评论(0)