I'm going to get the default selected value of the below dropdown
I wrote below code to do it.
Select selectyear = new Select(driver.findElement(By.id("year")));
WebElement year = selectyear.getFirstSelectedOption();
String selectedoption = year.getText();
But this throws the following error
org.openqa.selenium.support.ui.UnexpectedTagNameException: Element should have been "select" but was "input"
How can I fix this? same code is working perfectly for dropdowns that don't have "value" attribute.
CodePudding user response:
The only explanation is there is another element with id year
, the input
tag.
Put this code before Select selectyear = new Select(driver.findElement(By.id("year")));
:
List<WebElement> elements = driver.findElements(By.id("year"));
for (WebElement element: elements) {
System.out.println("Tag: " element.getTagName());
System.out.println("Text: " element.getText());
System.out.println("Location: " element.getLocation());
}
Solution is relative xpath for the select: select[@id='year']