open-index/open-npm huggingface dataset:
npm package: @pageobject/selenium-webdriver
Description: A web API adapter for Selenium.
Author: Clemens Akens
Latest version: 11.2.1

# @pageobject/selenium-webdriver

[![Package Version][badge-npm-image]][badge-npm-link]
[![Build Status][badge-travis-image]][badge-travis-link]
[![Coverage Status][badge-coveralls-image]][badge-coveralls-link]
[![TypeScript][badge-typescript-image]][badge-typescript-link]

> A web API adapter for [Selenium][external-selenium-webdriver].

**This package is part of [PageObjectJS][internal-homepage].**

## Installation

```sh
yarn add @pageobject/selenium-webdriver
```

## API documentation

Please find the API documentation [here][internal-api-selenium-webdriver].

---

Copyright (c) 2017-present, Clemens Akens. Released under the terms of the [MIT License][internal-license].

[badge-coveralls-image]: https://coveralls.io/repos/github/clebert/pageobject/badge.svg?branch=master
[badge-coveralls-link]: https://coveralls.io/github/clebert/pageobject?branch=master
[badge-npm-image]: https://img.shields.io/npm/v/@pageobject/selenium-webdriver.svg
[badge-npm-link]: https://yarnpkg.com/en/package/@pageobject/selenium-webdriver
[badge-travis-image]: https://travis-ci.org/clebert/pageobject.svg?branch=master
[badge-travis-link]: https://travis-ci.org/clebert/pageobject
[badge-typescript-image]: https://img.shields.io/badge/TypeScript-ready-blue.svg
[badge-typescript-link]: https://www.typescriptlang.org/
[external-selenium-webdriver]: http://seleniumhq.github.io/selenium/docs/api/javascript/index.html
[internal-api-selenium-webdriver]: https://pageobject.js.org/api/selenium-webdriver/
[internal-homepage]: https://pageobject.js.org/
[internal-license]: https://github.com/clebert/pageobject/blob/master/LICENSE
npm package: @pageobject/stable
Description: Write stable tests using a sophisticated implementation of the page object pattern.
Author: Clemens Akens
Latest version: 2.0.0
Deprecated: Please use @pageobject/base instead.

# @pageobject/stable [![Package Version][badge-npm-image]][badge-npm-link] [![Build Status][badge-travis-image]][badge-travis-link] [![Coverage Status][badge-coveralls-image]][badge-coveralls-link]

> Write **stable** tests using a sophisticated implementation of the [page object pattern][external-pageobject].

## Installation

```sh
yarn add @pageobject/stable
```

## API

Please find the API documentation [here][internal-api-stable].

---

Built by (c) Clemens Akens. Released under the terms of the [MIT License][internal-license].

[badge-coveralls-image]: https://coveralls.io/repos/github/clebert/pageobject/badge.svg?branch=master
[badge-coveralls-link]: https://coveralls.io/github/clebert/pageobject?branch=master
[badge-npm-image]: https://img.shields.io/npm/v/@pageobject/stable.svg
[badge-npm-link]: https://yarnpkg.com/en/package/@pageobject/stable
[badge-travis-image]: https://travis-ci.org/clebert/pageobject.svg?branch=master
[badge-travis-link]: https://travis-ci.org/clebert/pageobject
[internal-api-stable]: https://pageobject.js.org/api/stable/
[internal-license]: https://github.com/clebert/pageobject/blob/master/LICENSE
[external-pageobject]: https://martinfowler.com/bliki/PageObject.html
npm package: @pageobject/standard
Description: This package defines an API that can be implemented for virtually any browser automation framework.
Author: Clemens Akens
Latest version: 1.0.0-beta-4
Deprecated: Please use @pageobject/flexible instead.

# @pageobject/standard [![Package Version][badge-npm-image]][badge-npm-link] [![Build Status][badge-travis-image]][badge-travis-link] [![Coverage Status][badge-coveralls-image]][badge-coveralls-link]

> This package defines an API that can be implemented for virtually any browser automation framework.

## Installation

```sh
yarn add @pageobject/standard
```

## API

Please find the API documentation [here][internal-api-standard].

## Usage

> For examples of use, please have a look at either the [Puppeteer example][internal-usage-standard-puppeteer] or the [Selenium example][internal-usage-standard-selenium]. For a more detailed example, please see **here** (coming soon).

The PageObjectJS standard API defines the interface `StandardElement` as the representation of a DOM element and the interface `StandardPage` as the representation of the DOM. The abstract class `StandardPageObject` offers methods to comfortably use these representations.

Page objects inheriting from class `StandardPageObject` are compatible with any browser automation framework for which the PageObjectJS standard API can be implemented.

**Compatible implementations already exist for [Puppeteer][external-puppeteer] and [Selenium][external-selenium]!**

If you want to write your own implementation of the PageObjectJS standard API for a browser automation framework of your choice, you have to implement the interfaces `StandardElement` and `StandardPage`. The package [@pageobject/standard-test][internal-usage-standard-test] can help you to test your implementation for compatibility.

---

Built by (c) Clemens Akens. Released under the terms of the [MIT License][internal-license].

[badge-coveralls-image]: https://coveralls.io/repos/github/clebert/pageobject/badge.svg?branch=master
[badge-coveralls-link]: https://coveralls.io/github/clebert/pageobject?branch=master
[badge-npm-image]: https://img.shields.io/npm/v/@pageobject/standard.svg
[badge-npm-link]: https://yarnpkg.com/en/package/@pageobject/standard
[badge-travis-image]: https://travis-ci.org/clebert/pageobject.svg?branch=master
[badge-travis-link]: https://travis-ci.org/clebert/pageobject

[internal-api-standard]: https://pageobject.js.org/api/standard/
[internal-license]: https://github.com/clebert/pageobject/blob/master/LICENSE
[internal-usage-standard-puppeteer]: https://github.com/clebert/pageobject/blob/master/@pageobject/standard-puppeteer/README.md#usage
[internal-usage-standard-selenium]: https://github.com/clebert/pageobject/blob/master/@pageobject/standard-selenium/README.md#usage
[internal-usage-standard-test]: https://github.com/clebert/pageobject/tree/master/@pageobject/standard-test/README.md#usage

[external-puppeteer]: https://github.com/GoogleChrome/puppeteer/blob/master/README.md
[external-selenium]: http://seleniumhq.github.io/selenium/docs/api/javascript/index.html
npm package: @pageobject/standard-puppeteer
Description: This package implements the PageObjectJS standard API for Puppeteer.
Author: Clemens Akens
Latest version: 1.0.0-beta-4
Deprecated: Please use @pageobject/flexible-puppeteer instead.

# @pageobject/standard-puppeteer [![Package Version][badge-npm-image]][badge-npm-link] [![Build Status][badge-travis-image]][badge-travis-link] [![Coverage Status][badge-coveralls-image]][badge-coveralls-link]

> This package implements the [PageObjectJS standard API][internal-readme-standard] for [Puppeteer][external-puppeteer].

## Installation

```sh
yarn add @pageobject/standard-puppeteer
```

### Peer dependencies

```sh
yarn add @pageobject/standard \
         puppeteer
```

### TypeScript types

```sh
yarn add --dev @types/puppeteer
```

## API

Please find the API documentation [here][internal-api-standard-puppeteer].

## Usage

In this example we load the website [`example.com`][external-example-website] and test if the actual page title corresponds to the expected page title.

The **complete code** of this example can be found in the file [`example.js`][internal-example-standard-puppeteer].

### Create a new Puppeteer Browser instance

```js
const browser = await launch();
```

### Load the website

```js
const page = await PuppeteerPage.load('http://example.com/', browser);
```

### Create a page object

```js
class Root extends StandardPageObject {
  get selector() {
    return ':root';
  }
}

const root = new Root(page);
```

### Run the assertion using the page object

```js
assert.strictEqual(await root.getPageTitle(), 'Example Domain');
```

---

Built by (c) Clemens Akens. Released under the terms of the [MIT License][internal-license].

[badge-coveralls-image]: https://coveralls.io/repos/github/clebert/pageobject/badge.svg?branch=master
[badge-coveralls-link]: https://coveralls.io/github/clebert/pageobject?branch=master
[badge-npm-image]: https://img.shields.io/npm/v/@pageobject/standard-puppeteer.svg
[badge-npm-link]: https://yarnpkg.com/en/package/@pageobject/standard-puppeteer
[badge-travis-image]: https://travis-ci.org/clebert/pageobject.svg?branch=master
[badge-travis-link]: https://travis-ci.org/clebert/pageobject

[internal-api-standard-puppeteer]: https://pageobject.js.org/api/standard-puppeteer/
[internal-example-standard-puppeteer]: https://github.com/clebert/pageobject/blob/master/@pageobject/standard-puppeteer/example.js
[internal-license]: https://github.com/clebert/pageobject/blob/master/LICENSE
[internal-readme-standard]: https://github.com/clebert/pageobject/tree/master/@pageobject/standard/README.md

[external-example-website]: http://example.com/
[external-puppeteer]: https://github.com/GoogleChrome/puppeteer/blob/master/README.md
npm package: @pageobject/standard-selenium
Description: This package implements the PageObjectJS standard API for Selenium.
Author: Clemens Akens
Latest version: 1.0.0-beta-4
Deprecated: Please use @pageobject/flexible-selenium instead.

# @pageobject/standard-selenium [![Package Version][badge-npm-image]][badge-npm-link] [![Build Status][badge-travis-image]][badge-travis-link] [![Coverage Status][badge-coveralls-image]][badge-coveralls-link]

> This package implements the [PageObjectJS standard API][internal-readme-standard] for [Selenium][external-selenium].

## Installation

```sh
yarn add @pageobject/standard-selenium
```

### Peer dependencies

```sh
yarn add @pageobject/standard \
         selenium-webdriver
```

### TypeScript types

```sh
yarn add --dev @types/selenium-webdriver
```

## API

Please find the API documentation [here][internal-api-standard-selenium].

## Usage

In this example we load the website [`example.com`][external-example-website] and test if the actual page title corresponds to the expected page title.

The **complete code** of this example can be found in the file [`example.js`][internal-example-standard-selenium].

### Create a new Selenium WebDriver instance

```js
const driver = await new Builder()
  .withCapabilities({
    browserName: 'chrome',
    chromeOptions: {args: ['headless', 'disable-gpu']}
  })
  .build();
```

Please make sure you have the latest version of Chrome installed.

Additionally a suitable ChromeDriver is required, in this example we use [`node-chromedriver`][external-node-chromedriver] to install it.

```js
require('chromedriver');
```

### Load the website

```js
const page = await SeleniumPage.load('http://example.com/', driver);
```

### Create a page object

```js
class Root extends StandardPageObject {
  get selector() {
    return ':root';
  }
}

const root = new Root(page);
```

### Run the assertion using the page object

```js
assert.strictEqual(await root.getPageTitle(), 'Example Domain');
```

---

Built by (c) Clemens Akens. Released under the terms of the [MIT License][internal-license].

[badge-coveralls-image]: https://coveralls.io/repos/github/clebert/pageobject/badge.svg?branch=master
[badge-coveralls-link]: https://coveralls.io/github/clebert/pageobject?branch=master
[badge-npm-image]: https://img.shields.io/npm/v/@pageobject/standard-selenium.svg
[badge-npm-link]: https://yarnpkg.com/en/package/@pageobject/standard-selenium
[badge-travis-image]: https://travis-ci.org/clebert/pageobject.svg?branch=master
[badge-travis-link]: https://travis-ci.org/clebert/pageobject

[internal-api-standard-selenium]: https://pageobject.js.org/api/standard-selenium/
[internal-example-standard-selenium]: https://github.com/clebert/pageobject/blob/master/@pageobject/standard-selenium/example.js
[internal-license]: https://github.com/clebert/pageobject/blob/master/LICENSE
[internal-readme-standard]: https://github.com/clebert/pageobject/tree/master/@pageobject/standard/README.md

[external-example-website]: http://example.com/
[external-node-chromedriver]: https://github.com/giggio/node-chromedriver
[external-selenium]: http://seleniumhq.github.io/selenium/docs/api/javascript/index.html
npm package: @pageobject/standard-test
Description: This package allows you to test the compatibility of your implementation of the PageObjectJS standard API.
Author: Clemens Akens
Latest version: 1.0.0-beta-4
Deprecated: Please use @pageobject/flexible instead.

# @pageobject/standard-test [![Package Version][badge-npm-image]][badge-npm-link] [![Build Status][badge-travis-image]][badge-travis-link] [![Coverage Status][badge-coveralls-image]][badge-coveralls-link]

> This package allows you to test the compatibility of your implementation of the [PageObjectJS standard API][internal-readme-standard].

## Installation

```sh
yarn add @pageobject/standard-test
```

### Peer dependencies

```sh
yarn add @pageobject/standard
```

## API

Please find the API documentation [here][internal-api-standard-test].

## Usage

The existing tests for package [@pageobject/standard-puppeteer][internal-test-standard-puppeteer] and package [@pageobject/standard-selenium][internal-test-standard-selenium] can serve as examples.

---

Built by (c) Clemens Akens. Released under the terms of the [MIT License][internal-license].

[badge-coveralls-image]: https://coveralls.io/repos/github/clebert/pageobject/badge.svg?branch=master
[badge-coveralls-link]: https://coveralls.io/github/clebert/pageobject?branch=master
[badge-npm-image]: https://img.shields.io/npm/v/@pageobject/standard-test.svg
[badge-npm-link]: https://yarnpkg.com/en/package/@pageobject/standard-test
[badge-travis-image]: https://travis-ci.org/clebert/pageobject.svg?branch=master
[badge-travis-link]: https://travis-ci.org/clebert/pageobject

[internal-api-standard-test]: https://pageobject.js.org/api/standard-test/
[internal-license]: https://github.com/clebert/pageobject/blob/master/LICENSE
[internal-readme-standard]: https://github.com/clebert/pageobject/tree/master/@pageobject/standard/README.md
[internal-test-standard-puppeteer]: https://github.com/clebert/pageobject/blob/master/@pageobject/standard-puppeteer/src/index.test.ts
[internal-test-standard-selenium]: https://github.com/clebert/pageobject/blob/master/@pageobject/standard-selenium/src/index.test.ts
npm package: @pageobject/web
Description: A declarative API for framework-independent web UI test automation.
Author: Clemens Akens
Latest version: 11.2.1

# @pageobject/web

[![Package Version][badge-npm-image]][badge-npm-link]
[![Build Status][badge-travis-image]][badge-travis-link]
[![Coverage Status][badge-coveralls-image]][badge-coveralls-link]
[![TypeScript][badge-typescript-image]][badge-typescript-link]

> A declarative API for framework-independent web UI test automation.

**This package is part of [PageObjectJS][internal-homepage].**

## Installation

```sh
yarn add @pageobject/web
```

## API documentation

Please find the API documentation [here][internal-api-web].

---

Copyright (c) 2017-present, Clemens Akens. Released under the terms of the [MIT License][internal-license].

[badge-coveralls-image]: https://coveralls.io/repos/github/clebert/pageobject/badge.svg?branch=master
[badge-coveralls-link]: https://coveralls.io/github/clebert/pageobject?branch=master
[badge-npm-image]: https://img.shields.io/npm/v/@pageobject/web.svg
[badge-npm-link]: https://yarnpkg.com/en/package/@pageobject/web
[badge-travis-image]: https://travis-ci.org/clebert/pageobject.svg?branch=master
[badge-travis-link]: https://travis-ci.org/clebert/pageobject
[badge-typescript-image]: https://img.shields.io/badge/TypeScript-ready-blue.svg
[badge-typescript-link]: https://www.typescriptlang.org/
[internal-api-web]: https://pageobject.js.org/api/web/
[internal-homepage]: https://pageobject.js.org/
[internal-license]: https://github.com/clebert/pageobject/blob/master/LICENSE
npm package: @pagepilot/pagepilot
Description: An adaptive, resilient, and autonomous Playwright agent for complex web automation.
Author: Akshat Khosya
Latest version: 1.0.1

# PagePilot 🚀

**The Adaptive & Autonomous Browser Agent.**

PagePilot is a next-generation Playwright automation library that **adapts** to UI changes in real-time. It moves beyond brittle selectors by using AI vision and semantic understanding to reliably execute complex web tasks.

## Why PagePilot?

Traditional automation breaks when the UI changes. PagePilot is **Resilient**.

-   **🛡️ Adaptive Selectors:** No more broken scripts. PagePilot analyzes the page semantically to find elements even when classes or IDs change.
-   **⚡ Autonomous Parallelization:** Give it a high-level goal (e.g., "Compare prices on Amazon, Flipkart, & Croma"), and it automatically decomposes the task and spins up parallel workers.
-   **🥷 Advanced Stealth:** Built-in integration with `puppeteer-extra-plugin-stealth` allows you to navigate sites with sophisticated bot protections.
-   **🧠 Human-Like Interaction:** Features "Human Scroll" and passive scanning to interact with pages naturally and efficiently.

## Installation 📦

```bash
npm install @pagepilot/pagepilot
```

## Configuration 🔧

PagePilot allows you to plug in your preferred AI provider via **Portkey**.

```bash
# .env
PORTKEY_API_KEY=your_key
```

## Usage 💡

### 1. Sequential Task (Resilient Execution)

```typescript
import { chromium } from 'playwright-extra';
import StealthPlugin from 'puppeteer-extra-plugin-stealth';
import { Orchestrator } from 'pagepilot';

chromium.use(StealthPlugin());
const browser = await chromium.launch({ headless: false });
const page = await browser.newPage();

const agent = new Orchestrator(page, {
  provider: 'portkey',
  apiKey: process.env.PORTKEY_API_KEY!
});

// The agent will find the search bar and price semantically
const result = await agent.execute(
  "Go to amazon.in, search for 'Sony WH-1000XM5', and extract the price."
);

console.log(result);
await browser.close();
```

### 2. Autonomous Parallel Scaling

Automatically split complex goals into concurrent browser sessions.

```typescript
const goal = `
  Compare the price of 'iPhone 15' on:
  1. Amazon.in
  2. Flipkart.com
  3. RelianceDigital.in
`;

const results = await agent.execute(goal);
console.table(results);
```

## License 📄

MIT
npm package: @pageproof/azure-functions-webpack-plugin
Description: A super simple webpack plugin for Azure Functions
Author: Jacob Marshall
Latest version: 1.0.3

# @pageproof/azure-functions-webpack-plugin

This plugin makes it simple to create Azure Function Apps using webpack. It automatically emits files that can be easily deployed as an Azure Function App.

This plugin was inspired by [`funcpack`](https://github.com/Azure/azure-functions-pack) - which is no longer maintained.

## Requirements

This plugin requires a minimum of Node v6 and Webpack v4.

## Getting Started

To begin, you'll need to install @pageproof/azure-functions-webpack-plugin:

```
$ npm install --save-dev @pageproof/azure-functions-webpack-plugin
```

Then add the plugin to your webpack config. For example:

**webpack.config.js**

```js
const AzureFunctionsWebpackPlugin = require('@pageproof/azure-functions-webpack-plugin');

module.exports = {
  entry: './src',
  plugins: [
    new AzureFunctionsWebpackPlugin(),
  ],
};
```

Pay attention to the `entry` option; this option must point to a folder that contains your functions. Your functions can be located any number of levels deep (the plugin simply looks for `function.json` files) - this way you have full control over your folder structure.

The plugin will automatically copy across your function app's `host.json`, `proxies.json` and `extensions.csproj` files to the output directory. Make sure these files are placed within the same folder as your `webpack.config.js` file.

When you run webpack with the mode set to `development`, your `local.settings.json` file will also be copied to the output directory.

After you run webpack, the output directory will include your main bundle (containing all of your functions), all of your Azure Function App configuration files, and multiple directories containing your function definitions.

```
$ webpack --mode production

Hash: 20d0a0214bb589326486
Version: webpack 4.27.1
Time: 119ms
Built at: 12/08/2018 9:09:31 PM
                   Asset       Size  Chunks             Chunk Names
HelloWorld/function.json  285 bytes          [emitted]
               host.json   23 bytes          [emitted]
                 main.js   1.09 KiB       0  [emitted]  main
Entrypoint main = main.js
[0] ./src/index.js 294 bytes {0} [built]
[1] ./src/HelloWorld/index.js 106 bytes {0} [built]
```

## Known problems

- Your functions are scanned when the plugin is initialized, so if you're running webpack in watch mode, you will need to remember to restart webpack every time you add a new function.

## Examples

You can take a look at the [`examples`](./examples) folder for examples.

## Special thanks

This plugin could not have been made without the work of the people who maintain these amazing plugins;

- [copy-webpack-plugin](https://www.npmjs.com/package/copy-webpack-plugin)
- [virtual-module-webpack-plugin](https://www.npmjs.com/package/virtual-module-webpack-plugin)

## License

[MIT](./LICENSE)