java - 选择不起作用时如何从 DropDownList 中选择选项

标签 java selenium selenium-webdriver

我有这个简单的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 个选项:YesNo

我尝试这样选择选项:

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/

相关文章:

java - 为什么在显式调用构造函数 java 时无法引用实例字段

java - 有没有办法在Java中转换一个不占用内存空间的对象?

Selenium Webdriver cookie/使用已打开的网络浏览器

python - 无法在某些搜索框中使用主题标签生成结果

python - 在ubuntu上安装selenium webdriver时出错,使用python3,chrome

java - 同步重写方法: Intrinsic Locks acquiring order for parent and child classes

java - 使用 Jsoup 获取图片地址

java - 如何使用 Selenium Webdriver 在同一窗口中打开的多个选项卡(超过 2 个)之间切换

javascript - docker/ Selenium / headless Chrome : Configure SUID sandbox correctly

java - Selenium(Java)、java.lang.AssertionError