npm package: @fnet/auto-consent-action
Description: ## Introduction
Latest version: 0.1.2

# @fnet/auto-consent-action

## Introduction

The `@fnet/auto-consent-action` is a utility designed to streamline the handling of consent screens encountered when browsing web pages. By leveraging OCR technology and AI-driven analysis, this tool detects and automates interactions with consent dialogues, making web navigation more convenient.

## How It Works

The tool operates by launching a web browser, visiting a specified URL, and capturing a screenshot of the webpage. It then uses Optical Character Recognition (OCR) to analyze the image for text associated with consent actions. With the aid of AI, the tool identifies the key elements requiring user consent and simulates a click on the appropriate area if located, navigating past consent screens efficiently.

## Key Features

- **OCR Integration**: Utilizes OCR to detect text on consent screens.
- **AI Analysis**: Employs AI models to interpret and locate consent-related text.
- **Automated Interaction**: Simulates clicks on detected consent options to bypass consent screens.
- **Temporary Screenshot Handling**: Captures and processes webpage screenshots while managing temporary files automatically.

## Conclusion

The `@fnet/auto-consent-action` provides a practical solution for automating the acceptance of consent screens during web browsing. By effectively combining OCR and AI, this tool simplifies user experiences on websites, reducing manual interactions with consent dialogues.


# Developer Guide for @fnet/auto-consent-action

## Overview

The `@fnet/auto-consent-action` library automates the process of interacting with consent screens on web pages by using Optical Character Recognition (OCR) and AI models to detect and interact with consent-related elements. This library aims to simplify online user experiences by programmatically navigating consent dialogs, enabling smoother user flows in automated environments such as testing or web scraping.

## Installation

To use the `@fnet/auto-consent-action` library, you need to install it via npm or yarn. Here's how you can do it:

### Using npm:

```bash
npm install @fnet/auto-consent-action
```

### Using yarn:

```bash
yarn add @fnet/auto-consent-action
```

## Usage

The primary function exported by the library is an asynchronous function that processes a webpage, detects consent screens, and interacts with them. It uses OpenAI's language models and an OCR service to achieve this. Here’s a practical example demonstrating how to use the library:

```javascript
import processConsent from '@fnet/auto-consent-action';

async function runExample() {
  try {
    await processConsent({
      url: 'https://example.com',
      openaiApiKey: 'your-openai-api-key',
      apiUrl: 'your-gradio-api-endpoint'
    });
    console.log('Consent interaction completed.');
  } catch (error) {
    console.error('An error occurred:', error);
  }
}

runExample();
```

### Parameters:

- `url`: The URL of the webpage where you want to automate consent interactions.
- `openaiApiKey`: Your OpenAI API key for accessing language model capabilities.
- `apiUrl`: The API endpoint for the Gradio OCR service.
- `viewWidth` (optional): The viewport width for the browser instance, default is 1280 pixels.
- `viewHeight` (optional): The viewport height for the browser instance, default is 720 pixels.

## Examples

Below are some concise examples to illustrate common use cases for the library:

### Basic Usage

```javascript
import processConsent from '@fnet/auto-consent-action';

// Process a webpage and interact with its consent screen
processConsent({
  url: 'https://www.newswebsite.com',
  openaiApiKey: 'your-openai-api-key',
  apiUrl: 'your-gradio-api-endpoint'
}).then(() => {
  console.log('Successfully interacted with consent dialogues.');
}).catch(console.error);
```

## Acknowledgement

This library leverages the capabilities of both the OpenAI and Gradio OCR services to effectively identify and interact with consent elements on web pages.

This guide should provide a good starting point for developers who want to integrate automatic consent management into their projects using `@fnet/auto-consent-action`. For more detailed information or troubleshooting, consider exploring the library's source code or its associated documentation.



# Input Schema
```yaml
$schema: https://json-schema.org/draft/2020-12/schema
type: object
properties:
  url:
    type: string
    description: The URL of the webpage to process.
  openaiApiKey:
    type: string
    description: API key for accessing the OpenAI GPT model.
  apiUrl:
    type: string
    description: The API URL for the Gradio client's Omniparser service.
  viewWidth:
    type: integer
    default: 800
    description: The width of the browser viewport.
  viewHeight:
    type: integer
    default: 800
    description: The height of the browser viewport.
required:
  - url
  - openaiApiKey
  - apiUrl

```