1 # Copyright 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 from command_executor import Command
8 class WebElement(object):
9 """Represents an HTML element."""
10 def __init__(self, chromedriver, id_):
11 self._chromedriver = chromedriver
14 def _Execute(self, command, params=None):
17 params['id'] = self._id;
18 return self._chromedriver.ExecuteCommand(command, params)
20 def FindElement(self, strategy, target):
22 Command.FIND_CHILD_ELEMENT, {'using': strategy, 'value': target})
24 def FindElements(self, strategy, target):
26 Command.FIND_CHILD_ELEMENTS, {'using': strategy, 'value': target})
29 self._Execute(Command.HOVER_OVER_ELEMENT)
32 self._Execute(Command.CLICK_ELEMENT)
35 self._Execute(Command.TOUCH_SINGLE_TAP)
38 self._Execute(Command.CLEAR_ELEMENT)
40 def SendKeys(self, *values):
43 if isinstance(value, int):
45 for i in range(len(value)):
46 typing.append(value[i])
47 self._Execute(Command.SEND_KEYS_TO_ELEMENT, {'value': typing})
49 def GetLocation(self):
50 return self._Execute(Command.GET_ELEMENT_LOCATION)