forked from php-webdriver/php-webdriver
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathWebDriverSelectInterface.php
128 lines (113 loc) · 3.93 KB
/
WebDriverSelectInterface.php
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
<?php
namespace Facebook\WebDriver;
use Facebook\WebDriver\Exception\NoSuchElementException;
use Facebook\WebDriver\Exception\UnsupportedOperationException;
/**
* Models an element of select type, providing helper methods to select and deselect options.
*/
interface WebDriverSelectInterface
{
/**
* @return bool Whether this select element support selecting multiple options.
*/
public function isMultiple();
/**
* @return WebDriverElement[] All options belonging to this select tag.
*/
public function getOptions();
/**
* @return WebDriverElement[] All selected options belonging to this select tag.
*/
public function getAllSelectedOptions();
/**
* @throws NoSuchElementException
*
* @return WebDriverElement The first selected option in this select tag (or the currently selected option in a
* normal select)
*/
public function getFirstSelectedOption();
/**
* Select the option at the given index.
*
* @param int $index The index of the option. (0-based)
*
* @throws NoSuchElementException
*/
public function selectByIndex($index);
/**
* Select all options that have value attribute matching the argument. That is, when given "foo" this would
* select an option like:
*
* `<option value="foo">Bar</option>`
*
* @param string $value The value to match against.
*
* @throws NoSuchElementException
*/
public function selectByValue($value);
/**
* Select all options that display text matching the argument. That is, when given "Bar" this would
* select an option like:
*
* `<option value="foo">Bar</option>`
*
* @param string $text The visible text to match against.
*
* @throws NoSuchElementException
*/
public function selectByVisibleText($text);
/**
* Select all options that display text partially matching the argument. That is, when given "Bar" this would
* select an option like:
*
* `<option value="bar">Foo Bar Baz</option>`
*
* @param string $text The visible text to match against.
*
* @throws NoSuchElementException
*/
public function selectByVisiblePartialText($text);
/**
* Deselect all options in multiple select tag.
*
* @throws UnsupportedOperationException If the SELECT does not support multiple selections
*/
public function deselectAll();
/**
* Deselect the option at the given index.
*
* @param int $index The index of the option. (0-based)
* @throws UnsupportedOperationException If the SELECT does not support multiple selections
*/
public function deselectByIndex($index);
/**
* Deselect all options that have value attribute matching the argument. That is, when given "foo" this would
* deselect an option like:
*
* `<option value="foo">Bar</option>`
*
* @param string $value The value to match against.
* @throws UnsupportedOperationException If the SELECT does not support multiple selections
*/
public function deselectByValue($value);
/**
* Deselect all options that display text matching the argument. That is, when given "Bar" this would
* deselect an option like:
*
* `<option value="foo">Bar</option>`
*
* @param string $text The visible text to match against.
* @throws UnsupportedOperationException If the SELECT does not support multiple selections
*/
public function deselectByVisibleText($text);
/**
* Deselect all options that display text matching the argument. That is, when given "Bar" this would
* deselect an option like:
*
* `<option value="foo">Foo Bar Baz</option>`
*
* @param string $text The visible text to match against.
* @throws UnsupportedOperationException If the SELECT does not support multiple selections
*/
public function deselectByVisiblePartialText($text);
}