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 return self
._Execute
(Command
.GET_ELEMENT_TEXT
)
32 self
._Execute
(Command
.HOVER_OVER_ELEMENT
)
35 self
._Execute
(Command
.CLICK_ELEMENT
)
38 self
._Execute
(Command
.TOUCH_SINGLE_TAP
)
41 self
._Execute
(Command
.TOUCH_DOUBLE_TAP
)
44 self
._Execute
(Command
.TOUCH_LONG_PRESS
)
47 self
._Execute
(Command
.CLEAR_ELEMENT
)
49 def SendKeys(self
, *values
):
52 if isinstance(value
, int):
54 for i
in range(len(value
)):
55 typing
.append(value
[i
])
56 self
._Execute
(Command
.SEND_KEYS_TO_ELEMENT
, {'value': typing
})
58 def GetLocation(self
):
59 return self
._Execute
(Command
.GET_ELEMENT_LOCATION
)
61 def IsDisplayed(self
):
62 return self
._Execute
(Command
.IS_ELEMENT_DISPLAYED
)