Selenium Webdriver - 无法从列表框中选择选项

时间:2013-09-25 18:33:40

标签: java selenium selenium-webdriver

我正在尝试从此页面的“离开”列表框中选择一个选项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的新手。请帮忙。

1 个答案:

答案 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();

希望这有帮助。