browse
Version:
Unified Browserbase CLI for browser automation and cloud APIs.
34 lines (33 loc) • 1.3 kB
JavaScript
import { Args, Flags } from "@oclif/core";
import { BrowseCommand } from "../base.js";
import { driverCommandFlags, runDriverCommandFromFlags, } from "../lib/driver/command-cli.js";
export default class Select extends BrowseCommand {
static description = "Select an option on a select-like element by snapshot ref, XPath, or selector.";
static examples = [
"browse select @0-9 'CA'",
"browse select 'select[name=state]' 'CA'",
"browse select @0-9 'CA' --value 'NV'",
];
static args = {
selector: Args.string({
description: "Snapshot ref such as @0-9, XPath, or selector.",
required: true,
}),
value: Args.string({
description: "Option value or label to select.",
required: true,
}),
};
static flags = {
...driverCommandFlags,
value: Flags.string({
description: "Additional option value for multi-select controls. Repeat for multiple values.",
helpValue: "<value>",
multiple: true,
}),
};
async run() {
const { args, flags } = await this.parse(Select);
await runDriverCommandFromFlags("select", { selector: args.selector, values: [args.value, ...(flags.value ?? [])] }, flags);
}
}