INNER CODE UNIT · Python
browser_evaluate
feder-cr/Jobs_Applier_AI_Agent_AIHawk · src/aihawk/mcp/server.py:443
async def browser_evaluate(expression: str) -> str:
"""READ from the page with JavaScript and get the result as JSON.
For what the other tools cannot see: a computed style, a value held in a
framework's state, the length of a list.
Acting on the page is refused, and the refusal names the tool to use.
Assigning to `value`, `checked` or `selected`, or calling `click()`,
`dispatchEvent()`, `submit()` or `requestSubmit()`, changes the page without
a real keystroke or pointer, and a page can tell. Use browser_click,
browser_type or browser_select_option instead; they do the same thing
through the pointer and the keyboard. Reading any of those properties is
fine.
The refusal catches the obvious spellings, not every possible one. A script
that slips past it is still the wrong way to do the thing: report it in your
answer rather than using it."""
return await actions.evaluate(await registry.ensure(), expression)