2 回答

TA贡献1844条经验 获得超8个赞
您可以首先使用以下方法单击下拉元素:
driver.findElement(By.id("combo-1781-inputEl")).click();
然后您可以使用以下命令单击“测试”元素:
driver.findElement(By.xpath("//div[@id='boundlist-1930-listEl']//li[text()='Test']")).click();
您还可以在此处参数化“测试”文本,以便将来如果您想单击任何其他下拉值,您可以在 xpath 中发送该文本然后单击它,您可以这样做:
String text="Test"; driver.findElement(By.xpath("//div[@id='boundlist-1930-listEl']//li[text()="+text+"]")).click();

TA贡献1833条经验 获得超4个赞
如您的代码所示,具有 id 的元素boundlist-1930-listEl不是<select>节点。这就是为什么UnexpectedTagNameException被抛出。
要从这种下拉列表中选择项目,您需要首先使下拉列表可见,我假设通过单击<input>元素。然后您必须等待列表显示,然后单击要选择的项目。
尝试这个:
WebDriverWait wait = new WebDriverWait(driver,30);
driver.findElement(By.id("combo-1781-inputEl")).click();
wait.until(ExpectedConditions.visibilityOf(driver.findElement(By.cssSelector("div#bounddlist-1930-list > ul"))));
driver.findElement(By.xpath("//div[@id='bounddlist-1930-list']/ul/li[contains(text(),'Test')]")).click();
添加回答
举报