• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

microlinkhq / browserless
81%

Build:
DEFAULT BRANCH: master
Repo Added 08 Nov 2017 06:14PM UTC
Files 48
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH master
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • 2.2.0
  • 2.2.1
  • 2.2.2
  • 2.3.0
  • 2.3.1
  • 2.3.2
  • 2.3.3
  • 2.3.4
  • 2.4.0
  • Kikobeats/client-hints-6d0aee8b
  • Kikobeats/deny-notifications-6d0aee8b
  • Kikobeats/dismiss-notification-prompts-ae2dc6cf
  • Kikobeats/fix-device-emulation-6d0aee8b
  • Kikobeats/function-lazy-page
  • Kikobeats/function-resolve-page-locally
  • Kikobeats/function-reuse-page
  • Kikobeats/isolate-autoconsent-6d0aee8b
  • Kikobeats/isolate-ghostery-dom-scan-6d0aee8b
  • Kikobeats/isolate-overlay-dismiss-6d0aee8b
  • Kikobeats/isolate-screenshot-helpers-6d0aee8b
  • Kikobeats/isolate-shadow-dom-flatten-6d0aee8b
  • Kikobeats/isolate-text-evaluate-6d0aee8b
  • Kikobeats/kikobeats-got-f8fa318b
  • Kikobeats/network-idle-floor-d3a67d55
  • Kikobeats/precompiled-shell-d3a67d55
  • Kikobeats/stop-disabling-web-apis-6d0aee8b
  • Kikobeats/white-base64-6491a0dd
  • Kikobeats/worker-platform-7f3a
  • Kikobeats/worker-user-agent-7f3a
  • adblock
  • add-types
  • authenticate
  • base
  • capture
  • ci
  • ci/ai-r2-model
  • ci/auto-release
  • ci/drop-npmrc-auth
  • ci/match-metascraper-npmrc
  • ci/release-token-just-in-time
  • codex/perf-goto-device-lookup-no-spread
  • codex/perf-goto-direct-wait-checks
  • codex/perf-goto-headers-fast-path
  • codex/perf-screenshot-sharp-whiteness
  • context
  • cookies
  • cursor/critical-bug-investigation-0a8b
  • cursor/critical-bug-investigation-1694
  • cursor/critical-bug-investigation-4da9
  • cursor/critical-bug-investigation-7e0c
  • cursor/critical-bug-investigation-9832
  • cursor/critical-bug-investigation-d24f
  • cursor/critical-bug-management-2dfa
  • cursor/critical-bug-management-50e1
  • cursor/critical-bug-management-7c60
  • cursor/critical-bug-management-7c8d
  • cursor/critical-bug-management-e3b0
  • dependabot/github_actions/actions/cache-6
  • dependabot/github_actions/actions/checkout-7
  • dependabot/github_actions/actions/setup-node-5
  • dependabot/github_actions/pnpm/action-setup-6
  • dependabot/npm_and_yarn/acorn-8.17.0
  • dependabot/npm_and_yarn/acorn-8.18.0
  • dependabot/npm_and_yarn/cliqz/adblocker-puppeteer-1.12.1
  • dependabot/npm_and_yarn/cliqz/adblocker-puppeteer-1.5.0
  • dependabot/npm_and_yarn/cliqz/adblocker-puppeteer-1.6.3
  • dependabot/npm_and_yarn/cliqz/adblocker-puppeteer-1.9.0
  • dependabot/npm_and_yarn/cloudflare/puppeteer-1.2.0
  • dependabot/npm_and_yarn/cloudflare/puppeteer-1.3.0
  • dependabot/npm_and_yarn/cloudflare/puppeteer-1.4.0
  • dependabot/npm_and_yarn/conventional-changelog-conventionalcommits-10.4.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-14.76.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-14.77.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-14.78.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-14.80.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-14.81.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-14.82.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-14.83.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-14.84.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-14.85.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-14.88.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-14.89.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-14.90.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-14.91.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-14.92.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-14.93.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-14.94.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-14.95.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-14.96.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-15.0.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-15.1.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-16.0.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-16.13.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-16.15.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-16.18.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-16.19.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-16.2.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-16.20.1
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-16.21.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-16.22.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-16.23.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-16.24.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-16.27.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-16.3.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-16.31.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-16.32.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-16.36.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-16.37.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-16.38.0
  • dependabot/npm_and_yarn/duckduckgo/autoconsent-16.39.0
  • dependabot/npm_and_yarn/ghostery/adblocker-puppeteer-2.15.0
  • dependabot/npm_and_yarn/ghostery/adblocker-puppeteer-2.17.0
  • dependabot/npm_and_yarn/ghostery/adblocker-puppeteer-2.18.0
  • dependabot/npm_and_yarn/got-10.2.1
  • dependabot/npm_and_yarn/got-10.2.2
  • dependabot/npm_and_yarn/got-10.5.2
  • dependabot/npm_and_yarn/got-10.6.0
  • dependabot/npm_and_yarn/is-url-http-2.0.0
  • dependabot/npm_and_yarn/is-url-http-2.1.1
  • dependabot/npm_and_yarn/isolated-function-0.2.0
  • dependabot/npm_and_yarn/lighthouse-13.2.0
  • dependabot/npm_and_yarn/lighthouse-13.3.0
  • dependabot/npm_and_yarn/lighthouse-13.4.0
  • dependabot/npm_and_yarn/lighthouse-13.5.0
  • dependabot/npm_and_yarn/serialize-error-9.1.1
  • dependabot/npm_and_yarn/sharp-0.24.0
  • dependabot/npm_and_yarn/sharp-0.25.1
  • dependabot/npm_and_yarn/ws-8.21.0
  • dependabot/npm_and_yarn/ws-8.22.0
  • dependencies
  • docs
  • docs/readme-copy-edit
  • eprotocol
  • feat/actions-runner
  • feat/ai
  • feat/capture-record
  • feat/function-extend-page
  • feat/function-inspect
  • feat/function-url
  • feat/page-weight-timings
  • feat/pdf-element
  • fix/accept-insecure-certs
  • fix/adblock-lazy-retry
  • fix/ai-public-publish
  • fix/capture-default-encoder
  • fix/changelog-preset-pin
  • fix/combine-draft-prs-862-867
  • fix/connection-closed
  • fix/function-merge-allow-opts
  • fix/function-runtime-deps
  • fix/ignore-automation-flags
  • fix/lazy-viewport-wait
  • fix/lighthouse-config-mutation
  • fix/lighthouse-context-leak
  • fix/node-paths-pnpm
  • fix/page-range-error-code
  • fix/pdf-covered-fast-path
  • fix/pdf-empty-shell
  • fix/pdf-readiness-gate
  • fix/pdf-scroll-lazy-content
  • fix/pdf-spa-ready
  • fix/publish-unpublished-versions
  • fix/puppeteer-25-connected-api
  • fix/readiness-budget
  • fix/release-dependency-cycles
  • fix/release-npmrc-user-home
  • fix/release-workspace-npm-auth
  • fix/report-mesa-version
  • fix/respawn-unhandled-rejection
  • fix/retry-execution-context-destroyed
  • fix/screencast-capture-frames
  • fix/screencast-require-onframe
  • fix/screencast-restart-on-navigate
  • fix/screenshot-html-escape
  • fix/screenshot-quality
  • fix/screenshot-retry-spin
  • fix/sync-device-chrome-ua
  • fix/target-closed-context-destroyed
  • fix/tree-walker-guard
  • fix/xss-theme-js
  • flags
  • function
  • functions
  • goto
  • greenkeeper/initial
  • greenkeeper/puppeteer-1.0.0
  • imgbot
  • lighthouse-cli
  • lossy
  • master
  • next
  • patch-1
  • pdf
  • perf-screencast-sync-ack
  • pool
  • prism
  • refactor/simplify-function-screenshot
  • remove-areyouheadless-test
  • revert/actions-runner
  • screenshot
  • shadow-dom
  • simplify-screencast-backpressure
  • tests
  • updae
  • v5.19.10
  • v5.19.11
  • v5.19.12
  • v5.19.13
  • v5.19.14
  • v5.19.8
  • v5.19.9
  • v5.20.0
  • v5.20.1
  • v5.20.2
  • v5.20.3
  • v5.21.0
  • v5.22.0
  • v5.22.1
  • v6.0.0
  • v6.1.0
  • v6.10.0
  • v6.10.1
  • v6.10.2
  • v6.11.1
  • v6.11.2
  • v6.11.3
  • v6.11.4
  • v6.11.5
  • v6.11.6
  • v6.11.7
  • v6.12.1
  • v6.2.0
  • v6.3.0
  • v6.4.0
  • v6.4.1
  • v6.4.2
  • v6.4.3
  • v6.4.4
  • v6.5.0
  • v6.6.0
  • v6.6.1
  • v6.6.2
  • v6.6.3
  • v6.6.4
  • v6.6.5
  • v6.6.6
  • v6.7.0
  • v6.7.1
  • v6.7.2
  • v6.7.3
  • v6.7.4
  • v6.7.5
  • v6.8.0
  • v6.8.1
  • v6.9.0
  • v6.9.1
  • v6.9.3
  • wait-until-auto
  • webgl

30 Sep 2026 06:56AM UTC coverage: 80.577% (-0.05%) from 80.624%
36680925732

push

github

web-flow
fix(function): resolve the supplied page without a CDP round trip (#952)

`resolvePage` opened a CDP session on every candidate page and asked it
`Target.getTargetInfo`. On the `getPage` path `strictTarget` is always
set, so the scan always ran, and `browser.pages()` is every page on that
browser rather than only ours.

Measured in production on `({ page }) => page.title()`, correlating the
page count the isolate sees against the time the snippet itself takes:

  pages=1  fn.run 80-118ms   (12 samples)
  pages=2  fn.run 473ms
  pages=2  fn.run 1747ms

One neighbour is enough. The cost is not the length of the list, it is
opening a session on somebody else's page and waiting on a target that
may be mid-navigation. Worst observed was 15055ms of `fn.run` for a
snippet whose only statement is `page.title()`, with the fetch, spawn and
build phases all normal.

The isolate already has the id locally. `page.target()._targetId` is
maintained from target events, needs no round trip, and matches
`page.mainFrame()._id`; both were confirmed against a production isolate
on `@cloudflare/puppeteer` 1.4.0.

The scan now reads that first and only falls back to asking over a
session when no page carries it, so a build where the private field
disappears still resolves rather than failing with PAGE_NOT_FOUND.

The three existing tests describe pages with no local id, so they now
cover the fallback. Three more cover the local path, a neighbour that
refuses a session, and the mixed case.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

1377 of 1619 branches covered (85.05%)

Branch coverage included in aggregate %.

23 of 23 new or added lines in 1 file covered. (100.0%)

8 existing lines in 1 file now uncovered.

5916 of 7432 relevant lines covered (79.6%)

67773.04 hits per line

Relevant lines Covered
Build:
Build:
7432 RELEVANT LINES 5916 COVERED LINES
67773.04 HITS PER LINE
Source Files on master
  • Tree
  • List 48
  • Changed 2
  • Source Changed 1
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
36680925732 master fix(function): resolve the supplied page without a CDP round trip (#952) `resolvePage` opened a CDP session on every candidate page and asked it `Target.getTargetInfo`. On the `getPage` path `strictTarget` is always set, so the scan always ran, a... push 30 Sep 2026 06:57AM UTC web-flow github
80.58
36680244787 master build(deps): bump ws from 8.21.3 to 8.22.0 (#951) Bumps [ws](https://github.com/websockets/ws) from 8.21.3 to 8.22.0. - [Release notes](https://github.com/websockets/ws/releases) - [Commits](https://github.com/websockets/ws/compare/8.21.3...8.22.... push 30 Sep 2026 06:50AM UTC web-flow github
80.62
36679905467 Kikobeats/function-resolve-page-locally Merge 5cb774eae into 0fc0e3833 Pull #952 30 Sep 2026 06:46AM UTC web-flow github
80.65
36667145970 dependabot/npm_and_yarn/ws-8.22.0 Merge 2e70862a0 into 0fc0e3833 Pull #951 30 Sep 2026 04:03AM UTC web-flow github
80.62
36534255521 master feat(function): resolve page methods when the snippet asks for them (#950) * feat(function): resolve page methods when the snippet asks for them `extendPage` can only carry values decided before the snippet starts, so anything it might read had ... push 29 Sep 2026 07:02AM UTC web-flow github
80.62
36533508984 Kikobeats/function-lazy-page Merge 9453ef77b into 9b15762cb Pull #950 29 Sep 2026 06:54AM UTC web-flow github
80.62
36482936012 Kikobeats/function-lazy-page Merge 8d193e38b into 9b15762cb Pull #950 28 Sep 2026 08:59PM UTC web-flow github
80.61
36480003508 Kikobeats/function-lazy-page Merge 74bbea338 into 9b15762cb Pull #950 28 Sep 2026 08:33PM UTC web-flow github
80.56
36390576218 master build(deps): bump @duckduckgo/autoconsent from 16.41.0 to 16.42.0 (#949) Bumps [@duckduckgo/autoconsent](https://github.com/duckduckgo/autoconsent) from 16.41.0 to 16.42.0. - [Release notes](https://github.com/duckduckgo/autoconsent/releases) - [... push 28 Sep 2026 07:15AM UTC web-flow github
80.47
36275597130 master feat(function): let a caller supply the page and keep the context (#948) * feat(function): let a caller supply the page and keep the context A request that runs a Function against a URL loads that URL twice. The HTML fetch navigates it in one co... push 26 Sep 2026 10:15PM UTC web-flow github
80.47
See All Builds (1397)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc