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