[英]How to select option from invisible drop-down element in Selenium WebDriver using Java
[英]Select an element from drop-down list using java
在ddl(下拉列表)中找到元素后,我想知道如何選擇它。 我的函數可以找到該元素,但是無法選擇它; 我嘗試點擊,但沒有成功。
謝謝
代碼是:
public static void selectGuestCountry()
{
WebElement droplist = driver.findElement(By.className("sbOptions"));
List<WebElement> allOptions = droplist.findElements(By.tagName("a"));
System.out.println("Total options in list --> " + allOptions.size());
for (int i=0;i<allOptions.size();i++ )
{
//System.out.println("++> " + allOptions.get(i).getAttribute("text"));
if(allOptions.get(i).getAttribute("text").equals("FRANCE")) {
System.out.println("++++>" + allOptions.get(i).getAttribute("text"));
**allOptions.get(i).click();**// This is doesn't select the country
break;
}
}
---------------------------------------------------------------
這是html代碼,謝謝:
<div class="guestForm">
<input id="reservations0.guests0.id" type="hidden" value="0" name="reservations[0].guests[0].id">
<br>
<div class="form-border">
<h5>
<div class="field-col left">
<div class="field-col right">
<div>
<div class="emails">
<div class="contactInfo">
<div class="field-row">
<label class="ellipsis" title="Organization">Organization</label>
<input id="reservations0.guests0.organization" class="field" type="text" maxlength="40" value="" name="reservations[0].guests[0].organization">
</div>
<div class="field-row select-big country">
<label>
<select id="reservations0.guests0.address.country.alpha2Code" class="selectbox" onchange="populateStates(this);" name="reservations[0].guests[0].address.country.alpha2Code" sb="73833889" style="display: none;">
<div id="sbHolder_73833889" class="sbHolder">
<a id="sbToggle_73833889" class="sbToggle" href="#"></a>
<a id="sbSelector_73833889" class="sbSelector" href="#">Select Country</a>
<ul id="sbOptions_73833889" class="sbOptions" style="display: none;">
<li>
<li>
<a href="#US" rel="US">UNITED STATES</a>
</li>
<li>
<a href="#AF" rel="AF">AFGHANISTAN</a>
</li>
<li>
<li>
<li>`
很少進行代碼調整,如果可以接受,請閱讀以下內容:
使用Select對象而不是WebElement查找ddl對象,可以使用selectByIndex(根據代碼更輕松)從列表中選擇元素。
在代碼中的for
循環之前,單擊“ Select Country
這樣它將顯示國家列表,然后單擊要選擇的國家。
driver.findElement(By.linkText('Select Country')).click();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.