In a Selenium test of my homepage I ran into the following problem:
I have a number of buttons on the page. When clicking one of them a selections list is populated with a number of options via a javascript function. After clicking one of the buttons the selection list can look like this:
<select id="selectionList" name="List1" size="10" style="width:100%;">
<option style="color:#0275d8">Item Type 1</option>
<option onclick="onSelection()" id="Item_1">Item 1</option>
<option onclick="onSelection()" id="Item_2">Item 2</option>
<option onclick="onSelection()" id="Item_3">Item 3</option>
<option onclick="onSelection()" id="Item_4">Item 4</option>
<option onclick="onSelection()" id="Item_5">Item 5</option>
<option onclick="onSelection()" id="Item_6">Item 6</option>
<option style="color:#0275d8">Item Type 2</option>
<option onclick="onSelection()" id="Item_7">Item 7</option>
<option onclick="onSelection()" id="Item_8">Item 8</option>
<option onclick="onSelection()" id="Item_9">Item 9</option>
<option onclick="onSelection()" id="Item_10">Item 10</option>
</select>
In my test I used the following to click on one of the items.
WebDriverWait(self.browser, 60).until(EC.element_to_be_clickable((By.XPATH, "//*[@id='Item_1']"))).click()
I do see that item 1 gets highlighted but the onSelection() function is not called.
I also tried this
time.sleep(10)
self.browser.find_element_by_id("Item_1").click()
Again item 1 gets highlighted but the function onSelection() is not called.
Any idea of how to solved this issue?