java - 如何选择 jquery 无序下拉列表 selenium webdriver

标签 java jquery selenium-webdriver drop-down-menu jquery-select2

我是使用 Java 的新 selenium webdriver。如果它有正常的选择类,我可以编写 java 代码来选择下拉菜单:-

new Select(driver.findElement(By.id("someid"))).selectByValue("1"));

但是下面的代码有来自 jquery 的 select2 类。尝试了多种选择。从那时起我可以选择显示下拉菜单,我不能选择苹果或橙子,也不能选择葡萄。

有人可以帮我从这种下拉列表中选择苹果吗?非常感谢任何线索或代码。 ..

代码是这样的

<div id="select2-drop" class="select2-drop select2-display-none select2-with-searchbox select2-drop-active" style="somestyleelements">
	<div class="select2-search">
		<ul id="select2-results-1" class="select2-results" role="listbox">
			<li class="select2-results-dept-0 select2-result select2-result-selectable select2-highlighted" role="presentation">
				<div id="select2-result-label-random" class="select2-result-label" role="option">
					<span class="select2-match"></span>
						Apples
				</div>
			</li>
			<li class="select2-results-dept-0 select2-result select2-result-selectable" role="presentation">
				<div id="select2-result-label-random" class="select2-result-label" role="option">
					<span class="select2-match"></span>
						Orange
				</div>	
			<li class="select2-results-dept-0 select2-result select2-result-selectable" role="presentation">
			<li class="select2-results-dept-0 select2-result select2-result-selectable" role="presentation">
			<li class="select2-results-dept-0 select2-result select2-result-selectable" role="presentation">
		</ul>
</div>

提前致谢

最佳答案

Select()类仅适用于 <select>标记元素。所以你不能使用 Select()在这里上课。你应该尝试如下:-

WebDriverWait wait = new WebDriverWait(driver, 10);

//First click on dropdown to show options 
WebElement dropdown = wait.until(ExpectedConditions.presenceOfElementLocated(By.id("select2-drop")));
dropdown.click();

//Now find desired option and click 
wait.until(ExpectedConditions.elementToBeClickable(By.xpath(".//li[normalize-space(.) = 'Apples']"))).click();

关于java - 如何选择 jquery 无序下拉列表 selenium webdriver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39651081/

相关文章:

ruby-on-rails-3 - VCR 仅运行一次用于使用 selenium webkit 在 capybara 中进行集成测试

java - uiautomator 多次断言

java - 键入的键事件不适用于键入的第一个键。 java

java - 如何使用 Java 中默认包中的类?

c# - JQuery 将值设置为自定义服务器控件

javascript - 使用 google api 时日期选择器不工作

c# - 带有自定义 header 的 Ajax 请求到其他域 WebApi

python - Selenium 不断返回 "Message: element not interactable: [object HTMLButtonElement] has no size and location"

java - 使用 GeoFireStore Android 从 Firestore 检索一定范围内的用户

python - 如何在 Selenium Webdriver 2 Python 中获取当前 URL?