'UnexpectedTagNameException' 和 Element 应该是 "select" 但是 "div" 通过 Selenium 使用 'Select' 函数时出错 java
'UnexpectedTagNameException' and Element should have been "select" but was "div" error using 'Select' function through Selenium java
在这种形式中 select下拉菜单不起作用。
在上图中我想要select'Borrowing Capacity'
我为它编写代码
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'
错误信息是
Element should have been "select" but was "div"
这个错误信息...
'UnexpectedTagNameException' : Element should have been "select" but was "div"
...表示您已使用 Select
class 与元素进行交互,因为元素是 <div>
.
在文本为Borrowing Capacity的元素上click()
你可以使用以下:
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();
浏览器快照:
在这种形式中 select下拉菜单不起作用。
在上图中我想要select'Borrowing Capacity'
我为它编写代码
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'
错误信息是
Element should have been "select" but was "div"
这个错误信息...
'UnexpectedTagNameException' : Element should have been "select" but was "div"
...表示您已使用 Select
class 与元素进行交互,因为元素是 <div>
.
在文本为Borrowing Capacity的元素上click()
你可以使用以下
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();
浏览器快照: