下拉元素是不可见的,但它是启用和存在的。
我已经尝试了一切,但我没有选择。请帮忙。我的目标是单击将显示文本字段以输入字符串的下拉列表。
代码段:
if(driver.findElements(By.xpath("//*[@id='s2id_autogen3']"))!= null){
System.out.println("Element is Present");
}else{
System.out.println("Element is Absent");
}
if( driver.findElement(By.xpath("//*[@id='s2id_autogen3']")).isDisplayed()){
System.out.println("Element is Visible");
}else{
System.out.println("Element is InVisible");
}
if( driver.findElement(By.xpath("//*[@id='s2id_autogen3']")).isEnabled()){
System.out.println("Element is Enable");
}else{
System.out.println("Element is Disabled");
}
输出:
元素存在 元素是InVisible 元素已启用
答案 0 :(得分:0)
您可以让Webdriver等到所需的可见性下拉,然后单击它。请尝试关注并告诉我,是否可以解决您的问题:
WebDriverWait wait = new WebDriverWait(driver, 60);
wait.until(
ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='s2id_autogen3']")));
在上面的代码中,Webdriver将等待最多60秒,以使所需的下拉变为可见。如果即使在60秒后下拉不可见,它也会因超时错误而失败。
答案 1 :(得分:0)
Mahipal的答案必须奏效。其他原因可能是框架。确保下拉列表不在框架内。