我有这个简单的DropDownList
:
<select id="cmp_pp" name="cmp[val_id]" class="jcf-hidden"><option value="false" selected="selected">No</option>
<option value="true">Yes</option></select>
如您所见,此 DropDownList
仅包含 2 个选项:Yes
或 No
。
我尝试这样选择选项:
val dropDownList =
new Select(
driver.findElement(By.cssselector("select[id=cmp_pp]")))
我尝试了以下所有方法:
dropDownList.selectByVisibleText("Yes")
dropDownList.selectByIndex(1)
dropDownList..selectByValue("true")
但它们都不起作用。
我找到了另一种方法来更改此DropDownList
:
通过click
打开DropDownList
,然后循环遍历所有选项
并单击
我想要的选项
,但我的问题是是否有另一种优雅的方式来做到这一点? (也许是java脚本?)
最佳答案
您尝试过使用 sendkeys 吗?如果 select 命令不起作用,那么最好使用 sendkeys。
driver.findElement(By.cssSelector("div.cmp_pp")).sendKeys("Yes");
我希望元素不在框架中,并尝试了所需的等待,以及其他定位器而不是 css。
关于java - 选择不起作用时如何从 DropDownList 中选择选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37356864/