release: v3.3.316.0
Added
- Add
BrowserSessionProviderframework for persisting browser session state (cookies, localStorage) acrossNovaActruns to enable agents to maintain authenticated sessions without requiring manual login on every runChanged
- Improve model response typing for more accurate mode response parsing
- Add SDK variant and actuator type to environment telemetry
- Add coordinate normalization for more flexible bounding box parsing across different coordinate formats
- [CLI] Browser CLI refactoring, bug fixes, and documentation improvements
Fixed
- Fix tool and browser action errors (e.g.,
AgentRedirectError) not being propagated back to the model- Fix async
TypeErrorwhen a tool call coroutine throws an exception, preventing serialization of an unawaited coroutine. Fixes #103- [CLI] Fix CSS selector regex false positives where bare HTML tag names were incorrectly treated as CSS selectors
- [CLI] Fix
log_captureresource leak ensuringlog.txtis created early in command execution- [CLI] Fix
pip installcommand in CLI README to properly quotenova-act[cli]- [CLI] Fix Starlette 1.0.0
AttributeErrorin the AgentCore handler template by removing the redundant@app.route('/ping')decoratorCo-authored-by: Animesh Pandey animep@amazon.com Co-authored-by: Christopher Whitten whittech@amazon.com Co-authored-by: Chris Miramontes ecmiram@amazon.com Co-authored-by: Matt Potok mppotok@amazon.com Co-authored-by: Emile Baizel baizele@amazon.com Co-authored-by: Eric Zhou erizhou@amazon.com
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802032778号
Nova Act SDK
A Python SDK for Amazon Nova Act.
Amazon Nova Act is available as a new AWS service to build and manage fleets of reliable AI agents for automating production UI workflows at scale. Nova Act completes repetitive UI workflows in the browser and escalates to a human supervisor when appropriate. You can define workflows by combining the flexibility of natural language with Python code. Start by exploring in the web playground at nova.amazon.com/act, develop and debug in your IDE, deploy to AWS, and monitor your workflows in the AWS Console, all in just a few steps.
(Preview) Nova Act also integrates with external tools through API calls, remote MCP, or agentic frameworks, such as Strands Agents.
Table of contents
Pre-requisites
Set Up
Quick Set Up with IDE Extension
Accelerate your development process with the Nova Act extension. The extension automates the setup of your Nova Act development environment and brings the entire agent development experience directly into your IDE, enabling chat-to-script generation, browser session debugging, and step-by-step testing capabilities. For installation instructions and detailed documentation, visit the extension repository or website.
Authentication
API Key Authentication
Note: When using the Nova Act Playground and/or choosing Nova Act developer tools with API key authentication, access and use are subject to the nova.amazon.com Terms of Use.
Navigate to https://nova.amazon.com/act and generate an API key.
To save it as an environment variable, execute in the terminal:
IAM-based Authentication
Note: When choosing developer tools with AWS IAM authentication and/or deploying workflows to the Nova Act AWS service, your AWS Service Terms and/or Customer Agreement (or other agreement governing your use of the AWS Service) apply.
Nova Act also supports authentication using IAM credentials. For details please refer to the Amazon Nova Act User Guide documentation. To use IAM-based credentials use the Workflow constructs (see Worfklows). Please note the SDK will instantiate a default boto session if AWS credentials are already configured in your environment.
Installation
Alternatively, you can build
nova-act. Clone this repo, and then:[Optional] Install Google Chrome
Nova Act works best with Google Chrome but does not have permission to install this browser. You may skip this step if you already have Google Chrome installed or are fine with using Chromium. Otherwise, you can install Google Chrome by running the following command in the same environment where you installed Nova Act. For more information, visit https://playwright.dev/python/docs/browsers#google-chrome--microsoft-edge.
Browser session persistence
The SDK supports saving and restoring browser session state (cookies, localStorage) across NovaAct runs. This enables agents to maintain authenticated sessions without requiring manual login on every run. Three storage backends are available:
~/.nova-act/sessions/<profile>.jsonwith restricted file permissions (0o600)Local file
S3
Prerequisites: An S3 bucket with SSE-KMS default encryption and AWS credentials with
s3:GetObjectands3:PutObjectpermissions.AgentCore browser profiles
Prerequisites: AWS credentials with AgentCore permissions.
What gets saved and restored
The SDK captures browser state via Playwright’s
context.storage_state(). On restore, only cookies are injected (viacontext.add_cookies()) because the SDK uses a persistent browser context which does not support thestorage_stateparameter.HttpOnlyis setHttpOnly+Secure+SameSiteattributes make cookies the OWASP-recommended storage for session tokens. NIST 800-63B also recommends against alternatives.Authorization: Bearerheaders. OWASP warns against this: “a single XSS can steal all data in these objects.” Not encrypted at rest. NoHttpOnlyequivalent exists. Not restored currently - the app re-initializes on first load.For most authentication flows (OAuth, SAML), cookies are sufficient for session restoration. localStorage is saved but not restored - apps re-initialize their client-side state on first load without issue. See OWASP ASVS V3 for session management verification requirements.
Alternative: Chrome persistent profile
For single-machine use where you want full browser state persistence (cookies, localStorage, IndexedDB, cache, service workers, extensions), you can use Chrome’s built-in profile directory instead of a
BrowserSessionProvider:This persists everything Chrome normally stores between runs. The tradeoff:
BrowserSessionProvideruser_data_dirUse
user_data_dirfor simple local development. UseBrowserSessionProviderwhen you need remote storage, encryption, or AgentCore integration.Quick Start
Note: The first time you run NovaAct, it may take 1 to 2 minutes to start. This is because NovaAct needs to install Playwright modules. Subsequent runs will only take a few seconds to start. This functionality can be toggled off by setting the
NOVA_ACT_SKIP_PLAYWRIGHT_INSTALLenvironment variable.Script mode
The SDK will (1) open Chrome, (2) perform the task as described in the prompt, and then (3) close Chrome. Details of the run will be printed as console log messages.
Refer to the section Initializing NovaAct to learn about other runtime options that can be passed into NovaAct.
Interactive mode
Using interactive Python is a nice way to experiment:
Please don’t interact with the browser when an
act()is running because the underlying model will not know what you’ve changed!Async mode
Nova Act provides an async implementation for use with
asyncio. ImportNovaActfromnova_act.asyncioand useasync withandawait:Samples
The samples folder contains several examples of using Nova Act to complete various tasks, including:
For more samples showing how to use Nova Act SDK, please refer to this Github repository
How to prompt act()
The simplest way to use Nova Act to achieve an end-to-end task is by specifying the entire goal, possibly with hints to guide the agent, in one prompt. However, the agent then must take many steps sequentially to achieve the goal, and any issues or nondeterminism along the way can throw the workflow off track. We have found that Nova Act works most reliably when the task can be accomplished in fewer than 30 steps.
Make sure the prompt is direct and spells out exactly what you want Nova Act to do, including what information you want it to return, if any (read more on data extraction here). Aim to completely specify the choices the agent should make and what values it should put in form fields. During your testing, if you see act() going off track, enhance the prompt with hints (e.g. how to use certain UI elements it encounters, how to get to a particular function on the website, or what paths to avoid) — just like you would do with a new team member who might be unfamiliar with the task and the website. If the agent is taking a long winding path or you are unable to get repeated reliability, break the task up into stages and connect these in code.
1. Be direct and succinct in what the agent should do
❌ DON’T
✅ DO
❌ DON’T
✅ DO
2. Provide complete instructions
❌ DON’T
✅ DO
3. Break up large acts into smaller ones
❌ DON’T
✅ DO
And if the agent still struggles, break it down:
Workflows
A workflow defines your agent’s end-to-end task. Workflows are comprised of act() statements and Python code that orchestrate the automation logic.
The
nova-actSDK provides a number of convenience wrappers for managing workflows deployed with the NovaAct AWS service. Simply call the CreateWorkflowDefinition API (or use the AWS Console) and get a WorkflowDefinition to get started.The Context Manager
The core type driving workflow coordination with the NovaAct service is
Workflow. This class provides a context manager which will handle calling the necessary workflow API operations from the Amazon Nova Act service. It callsCreateWorkflowRunwhen your run starts andUpdateWorkflowRunwith the appropriate status when it finishes. It is provided to theNovaActclient via a constructor argument, so that all called APIs will be associated with the correct workflow + run (CreateSession,CreateAct,InvokeActStep,UpdateActetc.). See the following example for how to use it:Retry handling
By default, when a Nova Act request times out, the Nova Act SDK will retry it once. This can be overridden by passing in a
boto_configobject to the Workflow constructor. You can also use this object to override the default 60 secondread_timeout. For example, to retry a request 4 times (for a total of 5 attempts) with a 90 second timeout:Note that retrying the same Nova Act request may result in increased cost if the request ends up executing multiple times. For more information on retries including retry modes, please refer to the botocore retry documentation.
The Decorator
For convenience, the SDK also exposes a decorator which can be used to annotate functions to be run under a given workflow. The decorator leverages ContextVars to inject the correct
Workflowobject into eachNovaActinstance within the function; no need to provide theworkflowkeyword argument! The following syntax provides identical functionality to the previous example:Configuring AWS Credentials with
boto_session_kwargsThe
Workflowclass accepts an optionalboto_session_kwargsparameter for customizing the boto3 Session configuration. By default, if not provided, the workflow uses{"region_name": "us-east-1"}when AWS credentials are available.If you need to customize your AWS session (e.g., to use a specific profile or provide explicit credentials), you can pass a custom dictionary to
boto_session_kwargs. This works with both the Context Manager and Decorator versions:Using the Context Manager:
Using the Decorator:
Note: If you don’t provide
boto_session_kwargsand don’t use an API key, the workflow will automatically load AWS credentials using boto3 (more details here on how boto3 loads AWS credentials).Best Practices
Multi-threading
The
Workflowclass will work as-is for multi-threaded workflows. See the following example:Because the
@workflowdecorator leverages ContextVars for injecting context, and because ContextVars are intentionally designed to be thread-specific, users will have to provide the context to any functions that will run in different threads from where the wrapping function is defined. See the following example:Or, alternatively, use the
workflowargument directly to manually inject it, as when directly leveraging theWorkflowclass:Multi-processing
The
Workflowconstruct does not currently support passing between multi-processing because it maintains a boto3 Session and Client as instance variables, and those objects are not pickle-able. Support coming soon!Nova Act CLI
The Nova Act CLI provides a streamlined command-line interface for deploying Python workflows to AWS AgentCore Runtime, handling containerization, ECR management, IAM roles, and multi-region deployments automatically. See the Nova Act CLI README for installation and usage instructions.
Common Building Blocks
Extracting information from a web page
Use
pydanticand askact_getto respond to a question about the browser page in a certain schema.act()call.For convenience, the
act_get()function works the same asact()but provides a defaultSTRING_SCHEMA, so that a response will always be available in the return object whether or not a specific schema is provided. We recommend usingact_get()for all extraction tasks, to ensure type safety.Example:
If all you need is a bool response, there’s a convenient
BOOL_SCHEMAconstant: Example:Human-in-the-loop (HITL)
Nova Act’s Human-in-the-Loop (HITL) capability enables seamless human supervision within autonomous web workflows. HITL is available in the Nova Act SDK for you to implement in your workflows (not provided as a managed AWS service). When your workflow encounters scenarios requiring human judgment or intervention, HITL can provide tools and user interfaces for supervisors to assist, verify, or take control of the process.
HITL patterns
Human approval
Human approval enables asynchronous human decision-making in automated processes. When Nova Act encounters a decision point requiring human judgment, it captures a screenshot of the current state and presents it to a human reviewer via a browser-based interface. Use this when you need binary or multi-choice decisions (Approve/Reject, Yes/No, or selecting from predefined options).
UI takeover
UI takeover enables real-time human control of a remote browser session. When Nova Act encounters a task that requires human interaction, it hands control of the browser to a human operator via a live-streaming interface. The operator can interact with the browser using mouse and keyboard in real-time
Implementing HITL
Please refer to the Amazon Nova Act User Guide documentation on HITL for implementing HITL in your production workflows.
Implementing HITL using the SDK
To implement HITL patterns in the Nova Act SDK, define a class that extends
HumanInputCallbacksBaseand implements two of its abstract methodsapproveandui_takeover. Pass an instance of it to thehuman_input_callbacksargument of theNovaActconstructor.approve- is a callback that will be triggered for the Human approval pattern (e.g Approve expense reports or purchase approvals)ui_takeover- is a callback that will be triggered for the UI takeover pattern (e.g Solve CAPTCHA challenges)Refer to this sample for a working example.
Tool Use Beyond the Browser (Preview)
(Preview) Nova Act allows you to integrate external tools beyond the browser, such as an API Call or Database Query, into workflows. Nova Act SDK allows using a Python function as a tool that can be invoked during a workflow step. To make a Python function available as a tool, annotate it with the @tool decorator. You can pass a list of tools to the NovaAct constructor argument tools.
Refer to this sample for a working example.
Users may also provide tools from an MCP server by leveraging a Strands MCP Client:
Advanced: Tools Requiring Browser Control
If your custom tool needs to interact with the browser directly (similar to HITL tools), you can mark it with
requires_unlocked_actuator_context = True. This temporarily suspends the actuator’s internal hooks during tool execution, allowing external processes to control the browser.The actuator automatically re-locks the context on the next agent action.
Handling ActErrors
Once the
NovaActclient is started, it might encounter errors during theact()execution. All of these error types are included in thenova_act.types.act_errorsmodule, and are organized as follows:ActAgentError: Indicates requested prompt failed to complete; users may retry with a different request.ActAgentFailed(the agent raised an error because the task was not possible),ActInvalidModelGenerationError(model generated output that could not be interpreted), orActExceededMaxStepsError(act()failed to complete within the configured maximum number of steps)ActExecutionError: Indicates a local error encountered while executing valid output from the agentActActuationError(client encountered an exception while actuating the Browser), orActCanceledError(the user canceled execution).ActClientError: Indicates a request to the NovaAct Service was invalid; users may retry with a different request.ActGuardrailsError(the request was blocked by our RAI guardrails) orActRateLimitExceededError(request was throttled; rate should be reduced).ActServerError: Indicates the NovaAct Service encountered an error processing the request.ActInternalServerError(internal error processing request),ActBadResponseError(the service returned a response with unrecognized shape), orActServiceUnavailableError(the service could not be reached.)Users may catch
ActAgentErrors andActClientErrors and retry with the appropriate request; forActExecutionErrors andActServerErrors, please submit an issue to the team to look into, including (1) your SDK version, (2) your platform + operating system, (3) the full error trace, and (4) steps to reproduce.Running multiple sessions in parallel
One
NovaActinstance can only actuate one browser at a time. However, it is possible to actuate multiple browsers concurrently with multipleNovaActinstances! They are quite lightweight. You can use this to parallelize parts of your task, creating a kind of browser use map-reduce for the internet. This sample shows running multiple sessions in parallel.Authentication, cookies, and persistent browser state
Nova Act supports working with authenticated browser sessions by overriding its default settings. By default, when Nova Act runs, it clones the Chromium user data directory and deletes it at the end of the run. To use authenticated sessions, you need to specify an existing directory containing the authenticated sessions, and disable the cloning (which in turn disables deletion of the directory).
Specifically, you need to:
/tmp/user-data-dir. You can skip this step to use an existing Chromium profile.NovaActvia theuser_data_dirparameterNovaActby passing in the parameterclone_user_data_dir=FalseThe next time you run Nova Act with
user_data_dirset to the directory you created in step 1, you will start from an authenticated session. In subsequent runs, you can decide if you want to enable or disable cloning. If you are running multipleNovaActinstances in parallel, they must each create their own copy so you must enable cloning in that use case (clone_user_data_dir=True).Here’s an example script that shows how to pass in these parameters.
The script is included in the installation:
python -m nova_act.samples.setup_chrome_user_data_dir.Run against the local default Chrome browser
If your local default Chrome browser has extensions or security features you need for sites you need your workflow to access, you can configure the SDK to use the Chrome browser installed on your machine rather than the one managed by the SDK using the
NovaActparameters below.Before starting NovaAct with this feature, you must copy the files from your system Chrome user_data_dir to a location of your choice. This is necessary as Chrome does not allow CDP connections into instances started with the system default user_data_dir.
Manually, this is can be done with:
You can also use the convenience function
rsync_from_default_user_data(<your choice of location>)to create and update that directory as part of your script. Note that invokingrsync_from_default_user_datawill overwrite changes in the destination directory and make it an exact mirror of/Users/$USER/Library/Application\ Support/Google/Chrome/by overwriting existing files with the same name as in the source and deleting files not in it. If you want to persist profile changes that NovaAct made in the working directory back to your system, you must then mirror the changes back into the system default dir with your own implementation after stopping NovaAct.When using this feature, you must specify
clone_user_data_dir=Falseand pass the desired working dir asuser_data_dirwith the appropriate files populated. This is becauseNovaActwill not be cloning or deleting theuser_data_dirs for you in this mode.Entering sensitive information
To enter a password or sensitive information (e.g., credit card and social security number), do not prompt the model with the sensitive information. Ask the model to focus on the element you want to fill in. Then use Playwright APIs directly to type the data, using
client.page.keyboard.type(sensitive_string). You can get that data in the way you wish: prompting in the command line usinggetpass, using an argument, or setting env variable.Note that any passwords or other sensitive data saved with a Chromium-based browser’s password manager on Linux systems without a system-level keyring (ex. Libsecret, KWallet) will be stored in plaintext within a user’s profile directory.
Security Options
NovaAct is initialized with secure default behaviors which you may want to relax depending on your use-case.
Allow Navigation to Local
file://URLSTo enable local file navigation, define one or more filepath patterns in
SecurityOptions.allowed_file_open_pathsAllow File Uploads
To allow the agent to upload files to websites, define one or more filepath patterns in
SecurityOptions.allowed_file_upload_paths.Filepath Structures
The filepath parameters support the following formats:
["/home/nova-act/shared/*"]- Allow from specific directory["/home/nova-act/shared/file.txt"]- Allow a specific filepath["*"]- Enable for all paths[]- Disable the feature (Default)State Guardrails
State guardrails allow you to control which URLs the agent can visit during execution. You can provide a callback function that inspects the browser state after each observation and decides whether to allow or block continued execution. If blocked,
act()will raiseActStateGuardrailError. This is useful for preventing the agent from navigating to unauthorized domains or sensitive pages.Captchas
You should use the
ui_takeovercallback (see HITL) if your script encounters captchas in certain places. This will allow redirecting the step of solving Captcha to a human.Search on a website
If the model has trouble finding the search button, you can instruct it to press enter to initiate the search.
File upload and download
You can use playwright to download a file on a web page.
Through a download action button:
To download the current page:
nova.page.content()will give you the rendered DOM. You can save that to a file.nova.page.request:NovaAct can natively upload files using the appropriate upload action on the page. To do that, first you must allow NovaAct to access the file for upload. Then instruct it to upload it by filename:
Working with Browser Dialogs
Playwright automatically dismisses browser native dialogs such as alert, confirm, and prompt by default. To handle them manually, register a dialog handler before Nova Act performs the action that triggers the dialog. For example:
For more details, see the Playwright documentation.
Picking dates
Specifying the start and end dates in absolute time works best.
Setting the browser user agent
Nova Act comes with Playwright’s Chrome and Chromium browsers. These use the default User Agent set by Playwright. You can override this with the
user_agentoption:Using a proxy
Nova Act supports proxy configurations for browser sessions. This can be useful when you need to route traffic through a specific proxy server:
Logging
By default,
NovaActwill emit all logs levellogging.INFOor above. This can be overridden by specifying an integer value under theNOVA_ACT_LOG_LEVELenvironment variable. Integers should correspond to Python logging levels.Viewing act traces
After an
act()finishes, it will output traces of what it did in a self-contained html file. The location of the file is printed in the console trace.You can change the directory for this by passing in a
logs_directoryargument toNovaAct.Time worked tracking utility
The time_worked utility tracks and reports the approximate time spent by the agent working on tasks, excluding time spent waiting for human input. This helps you understand the actual agent execution time.
How It Works
Approximate time worked is calculated using this basic formula:
When an
act()call completes (successfully or with an error), the following is calculated:approve()orui_takeover()callbacks from when the callback is issued to when the agent execution continuesConsole Output
At the end of each
act()call, you’ll see a time worked summary in the console, as well as in the JSON and HTML reports:Without human input:
With human input:
Important Disclaimer
Recording a session
You can easily record an entire browser session locally by setting the
logs_directoryand specifyingrecord_video=Truein the constructor forNovaAct.Storing Session Data in Your Amazon S3 Bucket
Nova Act allows you to store session data (HTML traces, screenshots, etc.) in your own Amazon S3 bucket using the
S3Writerconvenience utility:The S3Writer requires the following AWS permissions:
When the NovaAct session ends, all session files will be automatically uploaded to the specified S3 bucket with the provided prefix.
S3 Upload Troubleshooting
No files in S3 bucket?
Navigating pages
The Playwright Page’s
goto()method has a default timeout of 30 seconds, which may cause failures for slow-loading websites. If the page does not finish loading within this time,goto()will raise aTimeoutError, potentially interrupting your workflow. Additionally, goto() does not always work well with act, as Playwright may consider the page ready before it has fully loaded. To address these issues, we have implemented a new function,go_to_url(), which provides more reliable navigation. You can use it by calling:nova.go_to_url(url)afternova.start(). You can also use thego_to_url_timeoutparameter onNovaActinitialization to modify the default max wait time in seconds for the start page load and subsequentgo_to_url()calls.Viewing a session that is running in headless mode
When running the browser in headless mode (
headless: True), you may need to see how the workflow is progressing as the agent is going through it. To do this:headless: Truehttp://localhost:9222/jsonpageand copy and paste itsdevtoolsFrontendUrlinto the browserYou’ll now be observing the activity happening within the headless browser. You can also interact with the browser window as you normally would, which can be helpful for handling captchas. For example, in your Python script:
sleep()for a period of time. Loop back to step 1. Duringsleep()…devtoolsFrontendUrlsignaling human intervention is requireddevtoolsFrontendUrland solves the captchaNote that if you are running Nova Act on a remote host, you may need to set up port forwarding to enable access from another system.
Use Nova Act SDK with Amazon Bedrock AgentCore Browser Tool
The Nova Act SDK can be used together with the Amazon Bedrock AgentCore Browser Tool for production-ready browser automation at scale. The AgentCore Browser Tool provides a fully managed cloud-based browser automation solution that addresses limitations around real-time data access, while the Nova Act SDK gives you the flexibility to build sophisticated agent workflows. See this blog post for integration instructions.
Known limitations
Our vision for Nova Act is to provide key capabilities to build useful agents at scale. If you encounter limitations with Nova Act — please provide feedback to nova-act@amazon.com to help us make it better.
For example:
act()cannot interact with non-browser applications;act()cannot interact with the browser window. This means that browser modals such as those requesting access to use your location don’t interfere with act() but must be manually acknowledged if desired;864×1296and1536×2304; andscreen_widthandscreen_heightparameters (e.g.,screen_width=1920, screen_height=1080)Learn more in the AWS AI Service Card for Amazon Nova Act.
Reference
Initializing
NovaActThe constructor accepts the following:
starting_page (str): The URL of the starting page; supports both web URLs (https://) and local file URLs (file://) (required argument)ignore_https_errors=Trueto the constructorheadless (bool): Whether to launch the browser in headless mode (defaults toFalse)user_data_dir (str): Path to a user data directory, which stores browser session data like cookies and local storage (defaults toNone).nova_act_api_key (str): The API key you generated for authentication; required if theNOVA_ACT_API_KEYenvironment variable is not set. If passed, takes precedence over the environment variable.logs_directory (str): The directory where NovaAct will output its logs, run info, and videos (ifrecord_videois set toTrue).record_video (bool)): Whether to record video and save it tologs_directory. Must havelogs_directoryspecified for video to record.proxy (dict): Proxy configuration for the browser. Should be a dictionary containing:server(required): The proxy server URL (must start withhttp://orhttps://)username(optional): Username for proxy authenticationpassword(optional): Password for proxy authenticationhuman_input_callbacks(optional): An implementation of human input callbacks. If not provided, a request for human input tool will not be made.tools(optional): A list of client provided tools.This creates one browser session. You can create as many browser sessions as you wish and run them in parallel but a single session must be single-threaded.
Actuating the browser
Use act
act()takes a natural language prompt from the user and will actuate on the browser window on behalf of the user to achieve the goal. Arguments:max_steps(int): Configure the maximum number of steps (browser actuations)act()will take before giving up on the task. Use this to make sure the agent doesn’t get stuck forever trying different paths. Default is 30.timeout(int): Number of seconds timeout for the entire act call. Prefer usingmax_stepsas time per step can vary based on model server load and website latency.observation_delay_ms: Additional delay in milliseconds before taking an observation of the page. Useful to wait for UI animations to complete.Returns an
ActResult.If a schema is passed to
act()(theact_get()function conveniently provides a defaultSTRING_SCHEMA), then the returned object will be anActGetResult, a subclass which includes the raw and structured response:Do it programmatically
NovaActexposes a PlaywrightPageobject directly under thepageattribute.This can be used to retrieve current state of the browser, for example a screenshot or the DOM, or actuate it:
Disclosures
Note: When using the Nova Act Playground and/or choosing Nova Act developer tools with API key authentication, access and use are subject to the nova.amazon.com Terms of Use. When choosing Nova Act developer tools with AWS IAM authentication and/or deploying workflows to the Nova Act AWS service, your AWS Service Terms and/or Customer Agreement (or other agreement governing your use of the AWS Service) apply.
NovaActin the user agent string to identify our agent. If you operate Nova Act in your own browsing environment or customize the user agent, we recommend that you include that same string.Report a Bug
Help us improve! If you notice any issues, please let us know by submitting a bug report via nova-act@amazon.com.
Be sure to include the following in the email:
Your feedback is valuable in ensuring a better experience for everyone.
Thanks for experimenting with Nova Act!