Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用selenium Java选择下拉列表值_Java_Selenium_Dropdown - Fatal编程技术网

无法使用selenium Java选择下拉列表值

无法使用selenium Java选择下拉列表值,java,selenium,dropdown,Java,Selenium,Dropdown,我是自动化新手,目前正在为我的应用程序探索SeleniumJava 尝试使用selenium Java自动化web应用程序 我在网上搜索过,只有在下拉列表为“选择”时才能找到答案。请建议如何从下拉列表中选择值 HTML代码: <span title="" class="k-widget k-dropdown k-header innova-invalid" unselectable="on" role="listbox" aria-haspopup="true" aria-expanded

我是自动化新手,目前正在为我的应用程序探索SeleniumJava 尝试使用selenium Java自动化web应用程序

我在网上搜索过,只有在下拉列表为“选择”时才能找到答案。请建议如何从下拉列表中选择值

HTML代码:

<span title="" class="k-widget k-dropdown k-header innova-invalid" unselectable="on" role="listbox" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-owns="" aria-disabled="false" aria-busy="false" aria-activedescendant="32406016-a12b-4ce6-a9f7-56f84a0883bd" style="" xpath="1">
<span unselectable="on" class="k-dropdown-wrap k-state-default" style="">
<span unselectable="on" class="k-input"></span>
<span unselectable="on" class="k-select" aria-label="select"></span>
</span>
<select kendo-dropdownlist="$ctrl.dropdownList" k-data-source="$ctrl.dataSourceOptions.dataSource" k-data-text-field="'Display'" k-data-value-field="$ctrl.valueField" k-value-primitive="$ctrl.valuePrimitive" name="HSRisk" k-options="$ctrl.options" k-ng-model="$ctrl.model" k-rebind="$ctrl.rebindTimestamp" k-ng-disabled="$ctrl.isDisabled" ng-class="{'innova-invalid': $ctrl.hasError}" data-role="dropdownlist" style="display: none;" class="innova-invalid">
<option value="true"></option>
<option value="false"></option>
</select>
</span>
<span unselectable="on" class="k-dropdown-wrap k-state-default" style="">
<span unselectable="on" class="k-input"></span>
<span unselectable="on" class="k-select" aria-label="select">
<span class="k-icon k-i-arrow-60-down"></span>
</span>
</span>
<select kendo-dropdownlist="$ctrl.dropdownList" k-data-source="$ctrl.dataSourceOptions.dataSource" k-data-text-field="'Display'" k-data-value-field="$ctrl.valueField" k-value-primitive="$ctrl.valuePrimitive" name="HSRisk" k-options="$ctrl.options" k-ng-model="$ctrl.model" k-rebind="$ctrl.rebindTimestamp" k-ng-disabled="$ctrl.isDisabled" ng-class="{'innova-invalid': $ctrl.hasError}" data-role="dropdownlist" style="display: none;" class="innova-invalid">
<option value="true">
Yes
</option>
<option value="false">
No
</option>
</select>
</span>


对
不

您不能单击“选择”下拉列表中的选项。你需要以不同的方式处理它们

从您的代码示例中,我想说,为了选择一个选项,您必须这样做:

代码示例

Select yourSelectSection = new Select(driver.findElement(By.id("YOUR_ID")));
yourSelectSection.selectByIndex(0); // by using index
yourSelectSection.selectByVisibleText("Yes"); // or by using text
注意:必须导入选择库。如果你需要更多地了解这个图书馆,你可以这样做


这将起作用

请尝试以下代码:

driver.findElement(By.id(“dropdownField”)).sendKeys(“mention text of required value from dropdown”); //send required option in dropdown field
driver.findElement(By.id(“option1”)).click(); 
List<WebElement> options = driver.findElements(By.xpath(“”));
for(WebElement option : options) {
if (option.getText().contains(“mention text of required value from dropdown”)) {
option.click();
break;
}
或者尝试使用以下代码:

driver.findElement(By.id(“dropdownField”)).sendKeys(“mention text of required value from dropdown”); //send required option in dropdown field
driver.findElement(By.id(“option1”)).click(); 
List<WebElement> options = driver.findElements(By.xpath(“”));
for(WebElement option : options) {
if (option.getText().contains(“mention text of required value from dropdown”)) {
option.click();
break;
}
List options=driver.findElements(By.xpath(“”);
用于(WebElement选项:选项){
if(option.getText().contains(“从下拉列表中提及所需值的文本”)){
选项。单击();
打破
}

有关更多详细信息,请参阅-如何在不使用Selenium中的select class方法的情况下在下拉列表中选择特定值。

HTML中的两个下拉列表都是
select
elements--您到底想点击这里做什么?这些元素是隐藏的。