Class ElementService
java.lang.Object
com.shaft.mcp.ElementService
MCP-safe element actions. Sensitive values are returned only to direct callers and are never logged.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidappendText(locatorStrategy locatorStrategy, String locatorValue, CharSequence... textValue) Appends text to an element.voidclear(locatorStrategy locatorStrategy, String locatorValue) Clears an element.voidclick(locatorStrategy locatorStrategy, String locatorValue) Clicks an element.voidclickAndHold(locatorStrategy locatorStrategy, String locatorValue) Clicks and holds an element.voidclickSemantic(String elementName) Clicks an element using SHAFT semantic locator behavior.voidclickUsingAI(String elementName) Deprecated.voidclickUsingJavaScript(locatorStrategy locatorStrategy, String locatorValue) Clicks an element using JavaScript.voiddoubleClick(locatorStrategy locatorStrategy, String locatorValue) Double-clicks an element.voiddragAndDrop(locatorStrategy sourceLocatorStrategy, String sourceLocatorValue, locatorStrategy targetLocatorStrategy, String targetLocatorValue) Drags one element to another.voiddragAndDropByOffset(locatorStrategy locatorStrategy, String locatorValue, int xOffset, int yOffset) Drags an element by an offset.voiddropFileToUpload(locatorStrategy locatorStrategy, String locatorValue, String filePath) Drops a file onto an upload element.getCssValue(locatorStrategy locatorStrategy, String locatorValue, String cssPropertyName) Gets a CSS value for direct Java callers.getDomAttribute(locatorStrategy locatorStrategy, String locatorValue, String domAttributeName) Gets a DOM attribute for direct Java callers.getDomProperty(locatorStrategy locatorStrategy, String locatorValue, String domPropertyName) Gets a DOM property for direct Java callers.getText(locatorStrategy locatorStrategy, String locatorValue) Gets text for direct Java callers.voidhover(locatorStrategy locatorStrategy, String locatorValue) Hovers over an element.booleanisDisplayed(locatorStrategy locatorStrategy, String locatorValue) Checks whether an element is displayed.booleanisEnabled(locatorStrategy locatorStrategy, String locatorValue) Checks whether an element is enabled.booleanisSelected(locatorStrategy locatorStrategy, String locatorValue) Checks whether an element is selected.voidsetValueUsingJavaScript(locatorStrategy locatorStrategy, String locatorValue, String textValue) Sets an element value using JavaScript.voidtype(locatorStrategy locatorStrategy, String locatorValue, CharSequence... textValue) Types text into an element.voidtypeSemantic(String elementName, CharSequence... textValue) Types text using SHAFT semantic locator behavior.voidtypeUsingAI(String elementName, CharSequence... textValue) Deprecated.
-
Constructor Details
-
ElementService
public ElementService()
-
-
Method Details
-
hover
@Tool(name="element_hover", description="hovers over an element") public void hover(locatorStrategy locatorStrategy, String locatorValue) Hovers over an element.- Parameters:
locatorStrategy- locator strategylocatorValue- locator value
-
click
@Tool(name="element_click", description="clicks an element") public void click(locatorStrategy locatorStrategy, String locatorValue) Clicks an element.- Parameters:
locatorStrategy- locator strategylocatorValue- locator value
-
clickSemantic
Clicks an element using SHAFT semantic locator behavior.- Parameters:
elementName- semantic element name
-
clickUsingAI
Deprecated.Compatibility alias for older clients; not exposed as an MCP tool.- Parameters:
elementName- semantic element name
-
clickUsingJavaScript
@Tool(name="element_click_js", description="clicks an element using JavaScript") public void clickUsingJavaScript(locatorStrategy locatorStrategy, String locatorValue) Clicks an element using JavaScript.- Parameters:
locatorStrategy- locator strategylocatorValue- locator value
-
doubleClick
@Tool(name="element_double_click", description="double clicks an element") public void doubleClick(locatorStrategy locatorStrategy, String locatorValue) Double-clicks an element.- Parameters:
locatorStrategy- locator strategylocatorValue- locator value
-
clickAndHold
@Tool(name="element_click_and_hold", description="clicks and holds an element") public void clickAndHold(locatorStrategy locatorStrategy, String locatorValue) Clicks and holds an element.- Parameters:
locatorStrategy- locator strategylocatorValue- locator value
-
type
@Tool(name="element_type", description="types value to an element") public void type(locatorStrategy locatorStrategy, String locatorValue, CharSequence... textValue) Types text into an element.- Parameters:
locatorStrategy- locator strategylocatorValue- locator valuetextValue- text values
-
appendText
@Tool(name="element_append_text", description="appends text to an element") public void appendText(locatorStrategy locatorStrategy, String locatorValue, CharSequence... textValue) Appends text to an element.- Parameters:
locatorStrategy- locator strategylocatorValue- locator valuetextValue- text values
-
typeSemantic
Types text using SHAFT semantic locator behavior.- Parameters:
elementName- semantic element nametextValue- text values
-
typeUsingAI
@Deprecated(forRemoval=false) public void typeUsingAI(String elementName, CharSequence... textValue) Deprecated.Compatibility alias for older clients; not exposed as an MCP tool.- Parameters:
elementName- semantic element nametextValue- text values
-
setValueUsingJavaScript
@Tool(name="element_set_value_js", description="sets value to an element using JavaScript") public void setValueUsingJavaScript(locatorStrategy locatorStrategy, String locatorValue, String textValue) Sets an element value using JavaScript.- Parameters:
locatorStrategy- locator strategylocatorValue- locator valuetextValue- value
-
clear
@Tool(name="element_clear", description="clears text from an element") public void clear(locatorStrategy locatorStrategy, String locatorValue) Clears an element.- Parameters:
locatorStrategy- locator strategylocatorValue- locator value
-
dropFileToUpload
@Tool(name="element_drop_file_to_upload", description="drops file to an element to upload") public void dropFileToUpload(locatorStrategy locatorStrategy, String locatorValue, String filePath) Drops a file onto an upload element.- Parameters:
locatorStrategy- locator strategylocatorValue- locator valuefilePath- local file path
-
dragAndDrop
@Tool(name="element_drag_and_drop", description="drags and drops an element from source to target") public void dragAndDrop(locatorStrategy sourceLocatorStrategy, String sourceLocatorValue, locatorStrategy targetLocatorStrategy, String targetLocatorValue) Drags one element to another.- Parameters:
sourceLocatorStrategy- source locator strategysourceLocatorValue- source locator valuetargetLocatorStrategy- target locator strategytargetLocatorValue- target locator value
-
dragAndDropByOffset
@Tool(name="element_drag_and_drop_by_offset", description="drags and drops an element by offset") public void dragAndDropByOffset(locatorStrategy locatorStrategy, String locatorValue, int xOffset, int yOffset) Drags an element by an offset.- Parameters:
locatorStrategy- locator strategylocatorValue- locator valuexOffset- horizontal offsetyOffset- vertical offset
-
getText
Gets text for direct Java callers. Not exposed as an MCP tool because text may be sensitive.- Parameters:
locatorStrategy- locator strategylocatorValue- locator value- Returns:
- element text
-
getDomAttribute
public String getDomAttribute(locatorStrategy locatorStrategy, String locatorValue, String domAttributeName) Gets a DOM attribute for direct Java callers. Not exposed as an MCP tool.- Parameters:
locatorStrategy- locator strategylocatorValue- locator valuedomAttributeName- attribute name- Returns:
- attribute value
-
getDomProperty
public String getDomProperty(locatorStrategy locatorStrategy, String locatorValue, String domPropertyName) Gets a DOM property for direct Java callers. Not exposed as an MCP tool.- Parameters:
locatorStrategy- locator strategylocatorValue- locator valuedomPropertyName- property name- Returns:
- property value
-
getCssValue
public String getCssValue(locatorStrategy locatorStrategy, String locatorValue, String cssPropertyName) Gets a CSS value for direct Java callers. Not exposed as an MCP tool.- Parameters:
locatorStrategy- locator strategylocatorValue- locator valuecssPropertyName- CSS property name- Returns:
- CSS value
-
isDisplayed
@Tool(name="element_is_displayed", description="checks if an element is displayed") public boolean isDisplayed(locatorStrategy locatorStrategy, String locatorValue) Checks whether an element is displayed.- Parameters:
locatorStrategy- locator strategylocatorValue- locator value- Returns:
- true when displayed
-
isEnabled
@Tool(name="element_is_enabled", description="checks if an element is enabled") public boolean isEnabled(locatorStrategy locatorStrategy, String locatorValue) Checks whether an element is enabled.- Parameters:
locatorStrategy- locator strategylocatorValue- locator value- Returns:
- true when enabled
-
isSelected
@Tool(name="element_is_selected", description="checks if an element is selected") public boolean isSelected(locatorStrategy locatorStrategy, String locatorValue) Checks whether an element is selected.- Parameters:
locatorStrategy- locator strategylocatorValue- locator value- Returns:
- true when selected
-