YusukeIwaki / puppeteer-ruby

A Ruby port of Puppeteer
Apache License 2.0
284 stars 41 forks source link

Enable to register custom query handlers #286

Closed YusukeIwaki closed 1 year ago

YusukeIwaki commented 1 year ago

Register a handler permanently

      Puppeteer.register_custom_query_handler(
        name: 'getByClass',
        query_one: '(element, selector) => document.querySelector(`.${selector}`)',
        query_all: '(element, selector) => document.querySelectorAll(`.${selector}`)',
      )

or, use a handler with block

      Puppeteer.with_custom_query_handler(
        name: 'getByClass',
        query_one: '(element, selector) => document.querySelector(`.${selector}`)',
        query_all: '(element, selector) => document.querySelectorAll(`.${selector}`)',
      ) do
        button = page.query_selector('getByClass/btn')
        ...

      end # the handler is unregistered automatically