无法从下拉列表中选择值

时间:2016-01-09 14:51:59

标签: javascript java selenium selenium-webdriver webdriver

我知道问题对于你们的回答非常简单,但是我被困在一个下拉列表中,我想选择出生月份。

我一直在其他网站上工作但很遗憾无法让这个工作。

我试过了:

单击使用不同的定位器。 使用Action类移动并单击。 使用Java Script选择月份。

奇怪的是,如果我得到WebElement的文本,我能够这样做,但无法点击它。

应用程序的网址是:a link

这是在谷歌上创建帐户时。

enter image description here

我试图在任何月份从列表中选择月份。

我等到盒子里面有所需的月份时,我有TimeOutException。

除此之外,我没有收到任何错误。脚本总是在不进行选择的情况下通过。

我知道这个问题很简单,但如果有人能帮助我解决这个问题。

提前致谢。

<span id="BirthMonth" class=" form-error" aria-invalid="true">
<div class="goog-inline-block goog-flat-menu-button jfk-select" role="listbox" style="-moz-user-select: none;" aria-expanded="false" tabindex="0" aria-haspopup="true" aria-activedescendant=":0" title="Birthday">
<div class="goog-menu goog-menu-vertical" style="-moz-user-select: none; visibility: visible; left: 0px; top: -82.2333px; display: none;" role="listbox" aria-haspopup="true">
<div id=":1" class="goog-menuitem" role="option" style="-moz-user-select: none;">
<div id=":2" class="goog-menuitem" role="option" style="-moz-user-select: none;">
<div class="goog-menuitem-content">February</div>
</div>
<div id=":3" class="goog-menuitem" role="option" style="-moz-user-select: none;">
<div id=":4" class="goog-menuitem" role="option" style="-moz-user-select: none;">
<div id=":5" class="goog-menuitem" role="option" style="-moz-user-select: none;">
<div id=":6" class="goog-menuitem" role="option" style="-moz-user-select: none;">
<div id=":7" class="goog-menuitem" role="option" style="-moz-user-select: none;">
<div id=":8" class="goog-menuitem" role="option" style="-moz-user-select: none;">
<div id=":9" class="goog-menuitem" role="option" style="-moz-user-select: none;">
<div id=":a" class="goog-menuitem" role="option" style="-moz-user-select: none;">
<div id=":b" class="goog-menuitem" role="option" style="-moz-user-select: none;">
<div id=":c" class="goog-menuitem" role="option" style="-moz-user-select: none;">
</div>
<input id="HiddenBirthMonth" type="hidden" name="BirthMonth">
</span>

3 个答案:

答案 0 :(得分:2)

你用sendkey试过了吗?我希望通过使用sendkey它将工作

driver.findElement(By.xpath(".//*[@id='BirthMonth']/div[1]")).sendKeys("april");

由于

答案 1 :(得分:0)

请尝试以下代码。它必须工作。

:s3_region => ENV['AWS_REGION'],

如果没有,首先请点击下拉列表。然后将下拉列表中的所有值存储到数组或列表中,然后从列表/数组中选择所需的值。

答案 2 :(得分:0)

您可以先点击public static void main(String[] args) throws IOException { Webcam webcam = Webcam.getDefault(); webcam.open(); BufferedImage image = webcam.getImage(); ImageIO.write(image, "PNG", new File("test.png")); } 打开下拉菜单,然后点击您想要的月份。请参阅下文选择六月:

BirthMonth