forked from php-webdriver/php-webdriver
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathWebDriverElement.php
More file actions
155 lines (137 loc) · 4.14 KB
/
Copy pathWebDriverElement.php
File metadata and controls
155 lines (137 loc) · 4.14 KB
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
<?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.
/**
* 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();
/**
* Find the first WebDriverElement within this element using the given
* mechanism.
*
* @param WebDriverBy $locator
* @return WebDriverElement NoSuchElementWebDriverError is thrown in
* HttpCommandExecutor if no element is found.
* @see WebDriverBy
*/
public function findElement(WebDriverBy $locator);
/**
* Find all WebDriverElements within this element using the given mechanism.
*
* @param WebDriverBy $locator
* @return array A list of all WebDriverElements, or an empty array if
* nothing matches
* @see WebDriverBy
*/
public function findElements(WebDriverBy $locator);
/**
* Get the value of a the given attribute of the element.
*
* @param string $attribute_name The name of the attribute.
* @return string 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 WebDriverLocation 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 WebDriverLocation 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();
}