我正在尝试从此页面的“离开”列表框中选择一个选项Pune(PNQ) http://book.spicejet.com/
driver.get("http://book.spicejet.com");
Thread.sleep(50000);
Select S = new Select(driver.findElement(By.id("ControlGroupSearchView_AvailabilitySearchInputSearchVieworiginStation1")));
S.selectByValue("PNQ");
但是我收到了这个错误:
org.openqa.selenium.ElementNotVisibleException
我是Selenium的新手。请帮忙。
答案 0 :(得分:1)
直接来自硒源 -
/**
* Thrown to indicate that although an element is present on the DOM, it is not visible, and so is
* not able to be interacted with.
*/
public class ElementNotVisibleException...
正如它所说,元素存在于DOM上,但不可见。如果在该元素存在之前必须采取先发制人的行动,那么就这样做。
一个例子是Google图片搜索。单击图像时,会出现带有图片的黑框。该元素始终存在,但您必须在图像上click
才能显示该元素。
听起来你的选择框也发生了同样的事情。
我冒昧地进一步查看您的特定问题..看起来该网站隐藏了<select>
标记,因为它被一些jQuery填充。
不是使用select标签并按值选择,而是
driver.findElement(By.id("ControlGroupSearchView_AvailabilitySearchInputSearchVieworiginStation1_CTXT").sendKeys("PNQ");
driver.findElement(By.cssSelector("a[value='PNQ']").click();
希望这有帮助。