# How to select a tag in the Tag Browse Tree through scripting

**URL:** <https://forum.inductiveautomation.com/t/how-to-select-a-tag-in-the-tag-browse-tree-through-scripting/62221>\
**Category:** Ignition\
**Tags:** ignition81, perspective, scripting\
**Created:** [July 22, 2022, 3:08pm UTC](https://forum.inductiveautomation.com/t/how-to-select-a-tag-in-the-tag-browse-tree-through-scripting/62221 "2022-07-22T15:08:34Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![bmeyers](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bmeyers/32/37453_2.png) [@bmeyers](https://forum.inductiveautomation.com/u/bmeyers)\
**Post date:** [July 22, 2022, 4:29pm UTC](https://forum.inductiveautomation.com/t/how-to-select-a-tag-in-the-tag-browse-tree-through-scripting/62221/5 "2022-07-22T16:29:38Z")

</div>

@pturmel made the introspect script that finds all available methods from a component. I ran it on the TagBrowseTree in Perspective but I don't see anything available that would let you select a path.

> [@Finding all available methods from a component](https://forum.inductiveautomation.com/t/finding-all-available-methods-from-a-component/9670/8):
>
> The introspection script has evolved over time, particularly to return a string result instead of just printing. I found that useful for introspection in gateway scope using runScript() in an expression tag. Or to set the .text property of a scrollable text edit field for convenience. This is what it looks like today: # Introspection for Jython/Java # # Copyright 2008-2016 Automation Professionals, LLC \<sales@automation-pros.com\> # # Redistribution and use in source and binary forms, with or…

```auto
Python Type: <type 'com.inductiveautomation.perspective.gateway.script.ComponentModelScriptWrapper$SafetyWrapper'>
Java Type: <type 'com.inductiveautomation.perspective.gateway.script.ComponentModelScriptWrapper$SafetyWrapper'>
  M: getSibling(<type 'java.lang.String'>)
    returns <type 'com.inductiveautomation.perspective.gateway.api.PerspectiveElement'>
  M: <type 'java.lang.String'> getName()
  M: getParent()
    returns <type 'com.inductiveautomation.perspective.gateway.api.Component'>
  M: <type 'void'> print(<type 'java.lang.String'>)
  M: <type 'java.util.Collection'> getChildren()
  M: getSession()
    returns <type 'com.inductiveautomation.perspective.gateway.api.Session'>
  M: getPage()
    returns <type 'com.inductiveautomation.perspective.gateway.api.Page'>
  M: getChild(<type 'java.lang.String'>)
    returns <type 'com.inductiveautomation.perspective.gateway.api.PerspectiveElement'>
  M: <type 'boolean'> refreshBinding(<type 'java.lang.String'>)
  M: getPropertyTreeOf(<type 'com.inductiveautomation.perspective.common.api.PropertyType'>)
    returns <type 'com.inductiveautomation.perspective.gateway.property.PropertyTree'>
  M: getView()
    returns <type 'com.inductiveautomation.perspective.gateway.api.View'>
  M: <type 'void'> requestTooltip()
  M: <type 'void'> focus()
  M: <type 'void'> removeTooltip()

From Type: <type 'java.lang.Object'>
  M: <type 'void'> wait(<type 'long'>)
  M: <type 'void'> wait(<type 'long'>,<type 'int'>)
  M: <type 'void'> wait()
  M: <type 'boolean'> equals(<type 'java.lang.Object'>)
  M: <type 'java.lang.String'> toString()
  M: <type 'int'> hashCode()
  M: <type 'java.lang.Class'> getClass()
  M: <type 'void'> notify()
  M: <type 'void'> notifyAll()

From python dir():
  Method __class__ <type 'java.lang.Class'>
  Method __copy__ <type 'builtin_function_or_method'>
  Method __deepcopy__ <type 'builtin_function_or_method'>
  Method __delattr__ <type 'builtin_function_or_method'>
  Property __doc__ <type 'str'> The most base type
  Method __ensure_finalizer__ <type 'builtin_function_or_method'>
  Method __eq__ <type 'builtin_function_or_method'>
  Method __format__ <type 'builtin_function_or_method'>
  Method __getattribute__ <type 'builtin_function_or_method'>
  Method __hash__ <type 'builtin_function_or_method'>
  Method __init__ <type 'instancemethod'>
  Method __ne__ <type 'builtin_function_or_method'>
  Method __new__ <type 'builtin_function_or_method'>
  Method __reduce__ <type 'builtin_function_or_method'>
  Method __reduce_ex__ <type 'builtin_function_or_method'>
  Method __repr__ <type 'builtin_function_or_method'>
  Method __setattr__ <type 'builtin_function_or_method'>
  Method __str__ <type 'builtin_function_or_method'>
  Method __subclasshook__ <type 'builtin_function_or_method'>
  Method __unicode__ <type 'builtin_function_or_method'>
  Property children <type 'java.util.Collections$EmptyList'> []
  Method class <type 'java.lang.Class'>
  Property name <type 'unicode'> TagBrowseTree
  Property page <type 'com.inductiveautomation.perspective.gateway.script.PageScriptWrapper$SafetyWrapper'> com.inductiveautomation.perspective.gateway.script.PageScriptWrapper$SafetyWrapper@6ae6c234
  Property parent <type 'com.inductiveautomation.perspective.gateway.script.ComponentModelScriptWrapper$SafetyWrapper'> com.inductiveautomation.perspective.gateway.script.ComponentModelScriptWrapper$SafetyWrapper@13e9d8ba
  Property session <type 'com.inductiveautomation.perspective.gateway.script.SessionScriptWrapper$SafetyWrapper'> com.inductiveautomation.perspective.gateway.script.SessionScriptWrapper$SafetyWrapper@137b9461
  Property view <type 'com.inductiveautomation.perspective.gateway.script.ViewModelScriptWrapper$SafetyWrapper'> com.inductiveautomation.perspective.gateway.script.ViewModelScriptWrapper$SafetyWrapper@1ba2a0a6
```

I think the component lets information flow one way only.

---

_[View the full topic](https://forum.inductiveautomation.com/t/how-to-select-a-tag-in-the-tag-browse-tree-through-scripting/62221)._
