2016-04-06 138 views
0

這是HTML代碼,對於這個盒子,請教我如何找到這個盒子中任何元素的正確xpath。 該框包含元素列表,元素從左向右傳遞,反之亦然。xpath in selenium點擊元素


<div id="companyIndustry" class="form-group" style="margin:0"> 
    <select id="my-select-industry" name="segmentdiv:companyIndustries" multiple="multiple" size="8"> 
     <option value="1">Agriculture and Mining - Farming and Ranching</option> 
     <option value="2">Agriculture and Mining - Fishing, Hunting and Trapping</option> 
    </select> 
</div> 

enter image description here

+0

快,讓你嘗試過什麼到目前爲止 – har07

回答

0

的Xpath可以是: -

//select[@id='my-select-industry']/option[@value='2'] 

在這種情況下,你可以使用

Select dropdown = new Select(driver.findElement(By.id("my-select-industry"))); 

要選擇自己的選擇說 '農業和採礦業 - 釣魚,打獵和誘捕' 你可以做

dropdown.selectByVisibleText("Agriculture and Mining - Fishing, Hunting and Trapping "); 

dropdown.selectByIndex(2); 

dropdown.selectByValue("2"); 

希望它會幫助你:)

0
List<WebElement> options = driver.findElements(By.xpath("//option")); 

You co uld也用相對xpath搜索'option'標籤(從'已知'[先前找到]元素向下搜索),但是這會要求你添加'。'。 '選項'之前,而不是雙斜線。

例如

WebElement selectElement = driver.findElement(By.id("my-select-industry"));  
List<WebElement> options = selectElement.findElements(By.xpath("./option")); 

還有的你想在這裏做什麼類似的例子:http://forum.testproject.io/index.php?topic=19.0