Disable view source for Developer Tools.
[chromium-blink-merge.git] / chrome / test / chromedriver / client / webelement.py
blobb3e6a641f5b553151efcddb1e2485deb079e52b3
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
12 self._id = id_
14 def _Execute(self, command, params=None):
15 if params is None:
16 params = {}
17 params['id'] = self._id;
18 return self._chromedriver.ExecuteCommand(command, params)
20 def FindElement(self, strategy, target):
21 return self._Execute(
22 Command.FIND_CHILD_ELEMENT, {'using': strategy, 'value': target})
24 def FindElements(self, strategy, target):
25 return self._Execute(
26 Command.FIND_CHILD_ELEMENTS, {'using': strategy, 'value': target})
28 def HoverOver(self):
29 self._Execute(Command.HOVER_OVER_ELEMENT)
31 def Click(self):
32 self._Execute(Command.CLICK_ELEMENT)
34 def SingleTap(self):
35 self._Execute(Command.TOUCH_SINGLE_TAP)
37 def Clear(self):
38 self._Execute(Command.CLEAR_ELEMENT)
40 def SendKeys(self, *values):
41 typing = []
42 for value in values:
43 if isinstance(value, int):
44 value = str(value)
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)