【发布时间】:2016-07-07 10:44:14
【问题描述】:
我在使用 Selenium Webdriver 从下拉列表中选择选项时遇到困难。下面是HTMLsn-p:
<span id="id14">
<div class="stadium-input-row">
<span class="inputContainer">
<select id="id1f" class="departurePoint stadiumSelect" onchange="var wcall=..........">
<option value="">Please select</option>
<option value="BHX"> Birmingham - (BHX) </option>
<option value="GLA"> Glasgow - (GLA) </option>
<option value="LON"> London - (LON) </option>
<option value="MAN"> Manchester - (MAN) </option>............
每次加载 DOM 时,选择标签 id 都会发生变化。
选择标签在与之交互之前是灰色的。
我的代码
Select oSelect = new Select(driver.findElement(By.xpath("(.//select)[1]"));
oSelect.selectByVisibleText("Birmingham");
错误
org.openqa.selenium.NoSuchElementException:找不到元素 带文字:伯明翰
在调试模式下,下拉菜单似乎没有被驱动程序激活(单击)。
【问题讨论】:
-
使用
.selectByVisibleText("Birmingham - (BHX)");作为我提供的答案......它对我有用...... -
抱歉,因为该元素不可见,所以这不起作用
-
但是根据您的例外情况,似乎 selenium 找到了选择框,但无法通过提供的文本选择选项..
-
我尝试了相同的代码,我得到了同样的错误,但是当我将
oSelect.selectByVisibleText("Birmingham");更改为oSelect.selectByVisibleText("Birmingham - (BHX)")时,它工作正常...... -
你为什么要点击下拉菜单...如果你想从下拉菜单中选择选项,这里不需要...你只需要找到下拉元素并将其传递给
new Select()。 ..并使用它...它将自行选择您提供的选项..
标签: java selenium select xpath webdriver