无法使用java从selenium webdriver的下拉列表中选择选项

无法使用java从selenium webdriver的下拉列表中选择选项,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,我正在尝试从下拉列表中选择一个值。我已经检查了所有与之相关的帖子,但没有找到解决方案 以下是下拉列表的HTML代码: <select class="select2 visible" data-val="true" data-val-number="The field ClientId must be a number." id="ClientId" name="ClientId" tabindex="-1" title="" style="display: none;"> <o

我正在尝试从下拉列表中选择一个值。我已经检查了所有与之相关的帖子,但没有找到解决方案

以下是下拉列表的HTML代码:

<select class="select2 visible" data-val="true" data-val-number="The field ClientId must be a number." id="ClientId" name="ClientId" tabindex="-1" title="" style="display: none;">
<option value="">Client</option>
<option value="22">ABC</option>
<option value="7">ABC1</option>
<option value="18">ABC2</option>
<option value="27">ABC3</option>
<option value="26">ABC4</option>
<option value="31">ABC5</option>
<option value="12">ABC6</option>
<option value="19">ABC7</option>
<option value="72">DGX Client</option>
<option value="57">DS Sampler</option>
<option value="25">Group123</option>
</select>

错误:org.openqa.selenium.TimeoutException:预期条件失败:等待[[ChromeDriver:chrome on XP 6FA8CBB25476BEA9B789AF19A6EDF]->id:ClientId]的可见性已尝试30秒,间隔500毫秒


在这里的假设下运行

查看“显示:无”样式如何隐藏您的选择:


症状是什么?运行代码时会发生什么情况?org.openqa.selenium.TimeoutException:预期条件失败:等待[[ChromeDriver:chrome on XP 6FA8CBB25476BEA9B789AF19A6EDF]->id:ClientId]的可见性在添加WebDriverwait语句之前,我尝试了30秒,间隔500毫秒。我遇到了以下错误:org.openqa.selenium.ElementNotVisibleException:element不可见:element当前不可见,可能未被操纵hanks很多..它像一个charm.code一样运行顺畅,没有任何错误。再次感谢:顺便说一句。我刚刚使用了这两行代码:String js=arguments[0]。style.display='block';JavascriptExecutor driver.executeScriptjs,clientDropDown;
@FindBy(id="ClientId")
WebElement clientDropDown;
waitTime = new WebDriverWait(driver,20);
waitTime.until(ExpectedConditions.visibilityOf(clientDropDown));
Select client=new Select(clientDropDown);
client.selectByVisibleText("DGX Client");
<select ... style="display: none;">
            ^^^^^^^^^^^^^^^^^^^^^
String js = "arguments[0].style.display='block'"; 
((JavascriptExecutor) driver).executeScript(js, clientDropDown);

Select client = new Select(clientDropDown);
client.selectByVisibleText("DGX Client");