Files
Agent-n8n/n8n-n8n-1.109.2/packages/nodes-base/nodes/Airtop/actions/interaction/Interaction.resource.ts
2025-09-08 04:48:28 +08:00

149 lines
3.4 KiB
TypeScript
Executable File

import type { INodeProperties } from 'n8n-workflow';
import * as click from './click.operation';
import * as fill from './fill.operation';
import * as hover from './hover.operation';
import * as scroll from './scroll.operation';
import * as type from './type.operation';
import { sessionIdField, windowIdField } from '../common/fields';
export { click, fill, hover, scroll, type };
export const description: INodeProperties[] = [
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['interaction'],
},
},
options: [
{
name: 'Click an Element',
value: 'click',
description: 'Execute a click on an element given a description',
action: 'Click an element',
},
{
name: 'Fill Form',
value: 'fill',
description: 'Fill a form with the provided information',
action: 'Fill form',
},
{
name: 'Hover on an Element',
value: 'hover',
description: 'Execute a hover action on an element given a description',
action: 'Hover on an element',
},
{
name: 'Scroll',
value: 'scroll',
description: 'Execute a scroll action on the page',
action: 'Scroll on page',
},
{
name: 'Type',
value: 'type',
description: 'Execute a Type action on an element given a description',
action: 'Type text',
},
],
default: 'click',
},
{
...sessionIdField,
displayOptions: {
show: {
resource: ['interaction'],
},
},
},
{
...windowIdField,
displayOptions: {
show: {
resource: ['interaction'],
},
},
},
...click.description,
...fill.description,
...hover.description,
...scroll.description,
...type.description,
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
resource: ['interaction'],
operation: ['click', 'hover', 'type', 'scroll'],
},
},
options: [
{
displayName: 'Visual Scope',
name: 'visualScope',
type: 'options',
default: 'auto',
description: 'Defines the strategy for visual analysis of the current window',
options: [
{
name: 'Auto',
description: 'Provides the simplest out-of-the-box experience for most web pages',
value: 'auto',
},
{
name: 'Viewport',
description: 'For analysis of the current browser view only',
value: 'viewport',
},
{
name: 'Page',
description: 'For analysis of the entire page',
value: 'page',
},
{
name: 'Scan',
description:
"For a full page analysis on sites that have compatibility issues with 'Page' mode",
value: 'scan',
},
],
},
{
displayName: 'Wait Until Event After Navigation',
name: 'waitForNavigation',
type: 'options',
default: 'load',
description:
"The condition to wait for the navigation to complete after an interaction (click, type or hover). Defaults to 'Fully Loaded'.",
options: [
{
name: 'Fully Loaded (Slower)',
value: 'load',
},
{
name: 'DOM Only Loaded (Faster)',
value: 'domcontentloaded',
},
{
name: 'All Network Activity Has Stopped',
value: 'networkidle0',
},
{
name: 'Most Network Activity Has Stopped',
value: 'networkidle2',
},
],
},
],
},
];