1

In this form selection of drop down is not working.

This is image

In above image I want to select 'Borrowing Capacity'

and I write code for it

    public static void main(String[] args) throws InterruptedException 
    {
    WebDriver driver =new ChromeDriver();
    //driver.manage().window().maximize();
    driver.get("http://www.ia.ca/");
    Thread.sleep(3000);
    driver.findElement(By.xpath("//*[@id=\"nav-secondaire\"]/div[1]/ul/li[4]/a")).click();
    driver.findElement(By.xpath("//*[@id=\"nav-secondaire\"]/div[1]/ul/li[4]/ul/li[1]/section/ul/li[1]/a")).click();

   //DropDown code
    WebElement selectMyElement =driver.findElement(By.xpath("//*[@id=\"grille-zone-cta\"]/div/div/div/div/div/div[2]/div[1]"));
    Select cal = new Select(selectMyElement);
    cal.selectByIndex(1);

It gives me exception

'UnexpectedTagNameException'

and error message is

Element should have been "select" but was "div"

HTML tags

DebanjanB
  • 118,661
  • 30
  • 168
  • 217
Pradnya Bolli
  • 1,792
  • 1
  • 15
  • 32
  • Why use the long xpath when the element has a defined id? – entropy Apr 03 '19 at 13:18
  • `Select cal = new Select(selectMyElement);`, but before that, `selectMyElement` is an `div` -> `driver.findElement(By.xpath(".../div[2]/div[1]"));` – KunLun Apr 03 '19 at 13:21

1 Answers1

2

This error message...

'UnexpectedTagNameException' : Element should have been "select" but was "div"

...implies that you have used Select class to interact with the element where as the element was a <div>.

To click() on the element with text as Borrowing Capacity you can use the following Locator Strategy:

  • xpath:

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//h4[@class='bta-description' and text()='Our calculators']//following::div[@class='bta-select-table row']//b[@class='button']"))).click();
    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='selectric-items']//li[contains(., 'Borrowing Capacity')]"))).click();
    
  • Browser Snapshot:

BorrowingCapacity

DebanjanB
  • 118,661
  • 30
  • 168
  • 217