1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<?php
// Copyright 2004-present Facebook. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
namespace Facebook\WebDriver;
/**
* Interface for an HTML element in the WebDriver framework.
*/
interface WebDriverElement extends WebDriverSearchContext
{
/**
* If this element is a TEXTAREA or text INPUT element, this will clear the value.
*
* @return WebDriverElement The current instance.
*/
public function clear();
/**
* Click this element.
*
* @return WebDriverElement The current instance.
*/
public function click();
/**
* Get the value of a the given attribute of the element.
*
* @param string $attribute_name The name of the attribute.
* @return string|null The value of the attribute.
*/
public function getAttribute($attribute_name);
/**
* Get the value of a given CSS property.
*
* @param string $css_property_name The name of the CSS property.
* @return string The value of the CSS property.
*/
public function getCSSValue($css_property_name);
/**
* Get the location of element relative to the top-left corner of the page.
*
* @return WebDriverPoint The location of the element.
*/
public function getLocation();
/**
* Try scrolling the element into the view port and return the location of
* element relative to the top-left corner of the page afterwards.
*
* @return WebDriverPoint The location of the element.
*/
public function getLocationOnScreenOnceScrolledIntoView();
/**
* Get the size of element.
*
* @return WebDriverDimension The dimension of the element.
*/
public function getSize();
/**
* Get the tag name of this element.
*
* @return string The tag name.
*/
public function getTagName();
/**
* Get the visible (i.e. not hidden by CSS) innerText of this element,
* including sub-elements, without any leading or trailing whitespace.
*
* @return string The visible innerText of this element.
*/
public function getText();
/**
* Is this element displayed or not? This method avoids the problem of having
* to parse an element's "style" attribute.
*
* @return bool
*/
public function isDisplayed();
/**
* Is the element currently enabled or not? This will generally return true
* for everything but disabled input elements.
*
* @return bool
*/
public function isEnabled();
/**
* Determine whether or not this element is selected or not.
*
* @return bool
*/
public function isSelected();
/**
* Simulate typing into an element, which may set its value.
*
* @param mixed $value The data to be typed.
* @return WebDriverElement The current instance.
*/
public function sendKeys($value);
/**
* If this current element is a form, or an element within a form, then this
* will be submitted to the remote server.
*
* @return WebDriverElement The current instance.
*/
public function submit();
/**
* Get the opaque ID of the element.
*
* @return string The opaque ID.
*/
public function getID();
}