5-1 如何读取iframe
# 1-1找到iframevar iframe = await page.waitForSelector("#id")var iframe = await page.$("#id");# 1-2获取iframe中的内容 contentFrame()var frame = await iframe.contentFrame();
5-2 koa中如何实现跨域
https://www.npmjs.com/package/koa2-corscnpm i koa2-cors -Sconst cors = require("koa2-cors");app.use(cors());
5-3 iframe阿里云验证
实现阿里云的滑块验证
# boundingBox() 可以获取元素位置,width-height相关的信息# page.mouse.move()# page.mouse.down();# page.mouse.up();const url = "https://account.aliyun.com/register/register.html"const puppeteer = require("puppeteer");async function show(){const browser =await puppeteer.launch({headless:false,defaultViewport:null})const page = await browser.newPage();await page.goto(url)var iframe = await page.$("#alibaba-register-box");var frame = await iframe.contentFrame();var span = await frame.waitForSelector("#nc_1__scale_text");var position = await span.boundingBox();await page.mouse.move(position.x,position.y);await page.mouse.down();for(var i=0;i<position.width;i++){await page.mouse.move(position.x+i,position.y);}await page.mouse.up();console.log(position)}show()
