playwright_get_html_content
Extract HTML content from web pages using CSS selectors for data scraping, content analysis, or automated testing purposes.
Instructions
Get the HTML content of the page
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | CSS selector for the element |
Implementation Reference
- src/playwright_server/server.py:323-331 (handler)The GetHtmlContentToolHandler class provides the core implementation for retrieving the HTML content of a page element using Playwright's locator.inner_html() method.class GetHtmlContentToolHandler(ToolHandler): async def handle(self, name: str, arguments: dict | None) -> list[types.TextContent | types.ImageContent | types.EmbeddedResource]: if not self._sessions: return [types.TextContent(type="text", text="No active session. Please create a new session first.")] session_id = list(self._sessions.keys())[-1] page = self._sessions[session_id]["page"] selector = arguments.get("selector") html_content = await page.locator(selector).inner_html() return [types.TextContent(type="text", text=f"HTML content of element with selector {selector}: {html_content}")]
- The input schema definition for the tool, specifying a required 'selector' parameter as a CSS selector string.types.Tool( name="playwright_get_html_content", description="Get the HTML content of the page", inputSchema={ "type": "object", "properties": { "selector": {"type": "string", "description": "CSS selector for the element"} }, "required": ["selector"] } )
- src/playwright_server/server.py:334-344 (registration)Registration of tool handlers in a dictionary, including the instance for 'playwright_get_html_content' which is used by the call_tool handler.tool_handlers = { "playwright_navigate": NavigateToolHandler(), "playwright_screenshot": ScreenshotToolHandler(), "playwright_click": ClickToolHandler(), "playwright_fill": FillToolHandler(), "playwright_evaluate": EvaluateToolHandler(), "playwright_click_text": ClickTextToolHandler(), "playwright_get_text_content": GetTextContentToolHandler(), "playwright_get_html_content": GetHtmlContentToolHandler(), "playwright_new_session":NewSessionToolHandler(), }