'UnexpectedTagNameException'和Element应该已经被“选择”,但是通过Selenium java使用“选择”功能却出现了“ div”错误

时间:2019-04-03 13:16:41

标签: java selenium xpath webdriver webdriverwait

在这种形式下,无法选择下拉菜单。

This is image

在上图中,我想选择“借用能力”

然后我为此写代码

    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);

它给了我例外

  

'UnexpectedTagNameException'

,错误消息是

  

元素应为“ select”,但应为“ div”

HTML tags

1 个答案:

答案 0 :(得分:1)

此错误消息...

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

...表示您已使用Select类与元素进行交互,而元素是<div>

要对元素为click()且文本为借用容量,可以使用以下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();
    
  • 浏览器快照:

BorrowingCapacity