在此表单中,下拉选择不起作用。
在上图中我想选择“借贷能力”
我为它编写代码
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);
这给了我异常(exception)
'UnexpectedTagNameException'
错误消息是
Element should have been "select" but was "div"
最佳答案
此错误消息...
'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();
浏览器快照:
关于java - 'UnexpectedTagNameException' 和 Element 应该是 "select",但通过 Selenium java 使用 "div"函数却出现 'Select' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55496154/