0.1.3 • Published 6 years ago
puppeteer-modify v0.1.3
由于puppeteer对chrome devtools协议的支持度并不高,同时也缺乏易用性和灵活性,一些实现细节也并不符合预期。计划基于puppeteer进行功能增强,不保证兼容性。
Install
npm install puppeteer-modify
跳过自动下载chromium
对于国内用户,自动下载成功率不高,可以用PUPPETEER_SKIP_CHROMIUM_DOWNLOAD参数跳过自动下载。 可以单独下载chromium,或使用chrome代替。通过配置项launch.executablePath指定启动路径即可。
推荐源:https://npm.taobao.org/mirrors/chromium-browser-snapshots/
npm i puppeteer-modify --PUPPETEER_SKIP_CHROMIUM_DOWNLOAD
扩展API
class: Page
page.touchScroll(x, y, options) 新增
通过touch滚动页面至指定的可视坐标
x
Number
目标x坐标y
Number
目标y坐标options
Object
- interval
Number
连续滑动的时间间隔,默认2000,单位ms
- interval
page.$touchScroll(selector, options) 新增
通过touch方式,滚动页面至指定元素可视区
selector
String
CSS选择器字符串options
Object
- steps
Number
touchmove的触发次数,默认50 - interval
Number
连续滑动的时间间隔,默认2000,单位ms
- steps
page.scroll(x, y) 新增
滚动页面,使指定元素位于可视区
x
Number
相对于浏览器窗口x坐标y
Number
相对于浏览器窗口y坐标
page.$scroll(selector) 新增
滚动页面,使指定元素位于可视区
- selector
String
CSS选择器字符串
class: Mouse
mouse.click(x, y, options) 增强,兼容原版
新增模拟鼠标移动轨迹,原click可能出于效率考虑,只会触发一次mousemoved
click操作中已经包含了move,多数情况下不再需要单独模拟move操作,除非只移动鼠标而不需要点击
- options
Object
- steps
Number
mousemoved事件的触发次数,默认20
- steps
mouse.move(x, y, options) 增强,兼容原版
将steps默认值改为20,原值为1,即只触发一次。移动距离相同时,触发次数越少,对应的移动速度越快
- options
Object
- steps
Number
触发mousemoved事件的次数,默认值20
- steps
mouse.scroll(x, y, step) 新增
滚动至指定坐标,目前仅支持纵向滚动
x
Number
横向坐标,0y
Number
纵向坐标step
Number
步长
class: Touchscreen
touchscreen.slide({start, end, steps}) 新增
模拟touch单点滑动手势
- start
Object
- x
Number touchstart
x坐标 - y
Number touchstart
y坐标
- x
- end
Object
- x
Number touchend
x坐标 - y
Number touchend
y坐标
- x
- steps
Number
touchmove的触发次数 - delay
Number
触点释放前的停留时间,用于滑动惯性控制