iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 27
0
DevOps

Puppeteer系列 第 27

Puppeteer & Mouse

  • 分享至 

  • xImage
  •  

介紹

在一般狀況下 css selector 就可以捕捉到dom並觸發 基本的click type事件等 但有些狀況比較特別,當dom節點有可能是靠class 去觸發 event的時候 這樣的dom節點就會沒辦法 trigger

所幸有 Puppeteer 有提供 mouse的功能 幫助可以使用頁面位置來做一些點擊動作

另為算出dom元素位置可以透過

function getPosition(element) {
  var x = 0;
  var y = 0;

  while (element) {
    x += element.offsetLeft - element.scrollLeft + element.clientLeft;
    y += element.offsetTop - element.scrollLeft + element.clientTop;
    element = element.offsetParent;
  }
  return { x: x, y: y };
}

放在evaluate 讓他在前端的後可以配合這個function抓到正確的位置,
抓到後就可以使用 page.mouse的方式來指定了 await page.mouse.move(obj.x, obj.y);


上一篇
Puppeteer & line 通知 (三)
下一篇
Puppeteer & Dialog
系列文
Puppeteer30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言