如何 select jquery 无序下拉列表 selenium webdriver
how to select jquery unorderded drop down list selenium webdriver
我是新的 selenium webdriver 使用 Java。我可以将 java 代码写入 select 下拉菜单,如果它有正常的 select class 类似 :-
new Select(driver.findElement(By.id("someid"))).selectByValue("1"));
但是下面的代码有 select2 class 来自 jquery。尝试了多种选择。从那时起我可以 select 显示下拉菜单,我不能 select 苹果或橙子,或 select 葡萄。
有人可以帮助我如何从这种下拉列表中 select Apple 吗?非常感谢任何线索或代码。 ..
这是代码的样子
<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()
class 仅适用于 <select>
标签元素。所以这里不能用Select()
class。你应该尝试如下:-
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();
我是新的 selenium webdriver 使用 Java。我可以将 java 代码写入 select 下拉菜单,如果它有正常的 select class 类似 :-
new Select(driver.findElement(By.id("someid"))).selectByValue("1"));
但是下面的代码有 select2 class 来自 jquery。尝试了多种选择。从那时起我可以 select 显示下拉菜单,我不能 select 苹果或橙子,或 select 葡萄。
有人可以帮助我如何从这种下拉列表中 select Apple 吗?非常感谢任何线索或代码。 ..
这是代码的样子
<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()
class 仅适用于 <select>
标签元素。所以这里不能用Select()
class。你应该尝试如下:-
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();