MCPcopy Create free account
hub / github.com/THUDM/AutoWebGLM / get_nodes

Function get_nodes

webarena/solver/utils.py:14–35  ·  view source on GitHub ↗
(dom_tree, nodes_info, attr, attrval, mode: int=0, use_elem: int=0)

Source from the content-addressed store, hash-verified

12 im.save('output/show_screenshot.png')
13
14def get_nodes(dom_tree, nodes_info, attr, attrval, mode: int=0, use_elem: int=0):
15 tar_nodes, temp_nodes = [], []
16 for nodes in dom_tree:
17 if (mode == 1 and nodes[attr] == attrval) or (mode == 0 and nodes[attr].count(attrval) > 0):
18 if use_elem == 0:
19 tar_nodes.append(nodes['backendNodeId'])
20 elif use_elem == 1:
21 temp_nodes.extend(nodes['childIds'])
22 elif use_elem == 2:
23 temp_nodes.append(nodes['parentId'])
24
25 if use_elem != 0:
26 for node in dom_tree:
27 if node['nodeId'] in temp_nodes:
28 tar_nodes.append(node['backendNodeId'])
29
30 act_nodes = []
31
32 for node in list(nodes_info.values()):
33 if node['backend_id'] in tar_nodes:
34 act_nodes.append(node)
35 return act_nodes
36
37def step_once(env, trajectory, render_helper, traces, state_info, agent, args, intent, meta_data, target_action):
38 obs_info = state_info["info"]["observation_metadata"]["text"]

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected