Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Selenium Webdriver-无法从列表框中选择选项_Java_Selenium_Selenium Webdriver - Fatal编程技术网

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

Java Selenium Webdriver-无法从列表框中选择选项,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,我试图从本页的“离开”列表框中选择一个选项Pune(PNQ) 但我收到了这个错误: org.openqa.selenium.ElementNotVisibleException 我是硒的新手。请帮助。直接从硒源获取- /** * 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. *

我试图从本页的“离开”列表框中选择一个选项Pune(PNQ)

但我收到了这个错误:

org.openqa.selenium.ElementNotVisibleException


我是硒的新手。请帮助。

直接从硒源获取-

/**
 * 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上,但不可见,无法使用。如果在该元素存在之前必须采取先发制人的行动,那么就这样做

谷歌图像搜索就是一个例子。单击图像时,会出现一个带有图片的黑框。该元素始终存在,但您必须在图像上单击
,使其出现

听起来你的选择框也发生了同样的事情

编辑 我冒昧地进一步研究了你的问题。。看起来该站点隐藏了
标记,因为它是由一些jQuery内容填充的

不要使用select标记并按值选择,而是执行以下操作:

driver.findElement(By.id("ControlGroupSearchView_AvailabilitySearchInputSearchVieworiginStation1_CTXT").sendKeys("PNQ");
driver.findElement(By.cssSelector("a[value='PNQ']").click();

希望这有帮助。

您正在搜索的ID在页面上不可见。您可以尝试将Select中的id替换为:ControlGroupSearchView\u AvailabilitySearchInputSearchViewOrigins Station1\u CTXT-尽管我不确定这是否能解决问题。该HTML的设置类似于select,但我不完全确定它是否是Selenium认可的select。如果您是Selenium新手,请查看此框架。这是一个非常成熟的硒入门框架。据我所知。。您首先向jQuery提供一些输入,然后这些选项变得可见,因此您选择的是PNQ选项。我的理解是否正确。jQuery正在监视该输入字段,当您键入时,该层显示为按该文本过滤。如果此答案回答了您的问题,并且您不再有此问题,请单击绿色复选标记接受此答案,以便关闭此问题
driver.findElement(By.id("ControlGroupSearchView_AvailabilitySearchInputSearchVieworiginStation1_CTXT").sendKeys("PNQ");
driver.findElement(By.cssSelector("a[value='PNQ']").click();