A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/seleniumhq/selenium/commit/0eb286a8fd9573e6bb73d242df6def530deaa4ef below:

[py] do not allow Select class to work with disabled selects · SeleniumHQ/selenium@0eb286a · GitHub

File tree Expand file treeCollapse file tree 2 files changed

+9

-31

lines changed

Filter options

Expand file treeCollapse file tree 2 files changed

+9

-31

lines changed Original file line number Diff line number Diff line change

@@ -37,6 +37,8 @@ def __init__(self, webelement) -> None:

37 37

raise UnexpectedTagNameException(

38 38

"Select only works on <select> elements, not on <%s>" %

39 39

webelement.tag_name)

40 +

if not webelement.is_enabled():

41 +

raise NotImplementedError("Select element is disabled and may not be used.")

40 42

self._el = webelement

41 43

multi = self._el.get_dom_attribute("multiple")

42 44

self.is_multiple = multi and multi != "false"

Original file line number Diff line number Diff line change

@@ -41,16 +41,6 @@ def test_select_by_index_single(driver, pages):

41 41

assert sel.first_selected_option.text == select['values'][x]

42 42 43 43 44 -

@pytest.mark.xfail_firefox(reason='https://bugzilla.mozilla.org/show_bug.cgi?id=1429403')

45 -

@pytest.mark.xfail_remote

46 -

def test_select_disabled_by_index(driver, pages):

47 -

pages.load("formPage.html")

48 -

sel = Select(driver.find_element(By.NAME, disabledSelect['name']))

49 -

selected = sel.first_selected_option

50 -

sel.select_by_index(1)

51 -

assert selected == sel.first_selected_option

52 - 53 - 54 44

def test_select_by_value_single(driver, pages):

55 45

pages.load("formPage.html")

56 46

for select in [singleSelectValues1]:

@@ -60,16 +50,6 @@ def test_select_by_value_single(driver, pages):

60 50

assert sel.first_selected_option.text == select['values'][x]

61 51 62 52 63 -

@pytest.mark.xfail_firefox(reason='https://bugzilla.mozilla.org/show_bug.cgi?id=1429403')

64 -

@pytest.mark.xfail_remote

65 -

def test_select_disabled_by_value(driver, pages):

66 -

pages.load("formPage.html")

67 -

sel = Select(driver.find_element(By.NAME, disabledSelect['name']))

68 -

selected = sel.first_selected_option

69 -

sel.select_by_value('bar')

70 -

assert selected == sel.first_selected_option

71 - 72 - 73 53

def test_select_by_visible_text_single(driver, pages):

74 54

pages.load("formPage.html")

75 55

@@ -97,16 +77,6 @@ def test_select_by_visible_text_single(driver, pages):

97 77

# assert sel.first_selected_option.text == select['values'][x]

98 78 99 79 100 -

@pytest.mark.xfail_firefox(reason='https://bugzilla.mozilla.org/show_bug.cgi?id=1429403')

101 -

@pytest.mark.xfail_remote

102 -

def test_select_disabled_by_visible_text(driver, pages):

103 -

pages.load("formPage.html")

104 -

sel = Select(driver.find_element(By.NAME, disabledSelect['name']))

105 -

selected = sel.first_selected_option

106 -

sel.select_by_visible_text('Bar')

107 -

assert selected == sel.first_selected_option

108 - 109 - 110 80

def test_select_by_index_multiple(driver, pages):

111 81

pages.load("formPage.html")

112 82

@@ -247,7 +217,7 @@ def test_get_options(driver, pages):

247 217 248 218

def test_get_all_selected_options_single(driver, pages):

249 219

pages.load("formPage.html")

250 -

for select in [singleSelectValues1, singleSelectValues2, disabledSelect]:

220 +

for select in [singleSelectValues1, singleSelectValues2]:

251 221

opts = Select(driver.find_element(By.NAME, select['name'])).all_selected_options

252 222

assert len(opts) == 1

253 223

assert opts[0].text == select['values'][0]

@@ -284,6 +254,12 @@ def test_raises_exception_for_invalid_tag_name(driver, pages):

284 254

Select(driver.find_element(By.TAG_NAME, "div"))

285 255 286 256 257 +

def test_raises_exception_for_disabled_element(driver, pages):

258 +

pages.load("formPage.html")

259 +

with pytest.raises(NotImplementedError):

260 +

Select(driver.find_element(By.NAME, disabledSelect["name"]))

261 + 262 + 287 263

def test_deselect_by_index_non_existent(driver, pages):

288 264

pages.load("formPage.html")

289 265

for select in [multiSelectValues1, multiSelectValues2]:

You can’t perform that action at this time.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4