browser_element_is_displayed
Check if a web element is visible on the page using locator strategies like ID, CSS, or XPath to verify display status for testing and automation workflows.
Instructions
Checks if an element is displayed
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| by | Yes | Locator strategy to find element | |
| value | Yes | Value for the locator strategy | |
| timeout | No | Maximum time to wait for element in milliseconds |
Implementation Reference
- src/tools/elementTools.ts:207-234 (registration)Registers the 'browser_element_is_displayed' tool with the MCP server, including schema and inline handler that delegates to ElementService.server.tool( 'browser_element_is_displayed', 'Checks if an element is displayed', { ...locatorSchema }, async ({ by, value, timeout = 15000 }) => { try { const driver = stateManager.getDriver(); const elementService = new ElementService(driver); const isDisplayed = await elementService.isElementDisplayed({ by, value, timeout, }); return { content: [{ type: 'text', text: `Element is displayed: ${isDisplayed}` }], }; } catch (e) { return { content: [ { type: 'text', text: `Error checking element display status: ${(e as Error).message}`, }, ], }; } } );
- src/services/elementService.ts:50-57 (handler)Core handler logic for checking if the browser element is displayed using Selenium WebDriver.async isElementDisplayed(params: LocatorParams): Promise<boolean> { try { const element = await this.findElement(params); return element.isDisplayed(); } catch { return false; } }
- src/types/index.ts:29-35 (schema)Zod schema defining the input parameters (by, value, timeout) for locating the element in the browser_element_is_displayed tool.export const locatorSchema = { by: z .enum(['id', 'css', 'xpath', 'name', 'tag', 'class', 'link', 'partialLink']) .describe('Locator strategy to find element'), value: z.string().describe('Value for the locator strategy'), timeout: z.number().optional().describe('Maximum time to wait for element in milliseconds'), };