这是HTML代码,对于这个框,请告诉我如何为此框中的任何元素找到正确的xpath。 该框包含元素列表,单击时,元素从左向右传输,反之亦然。
<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>
答案 0 :(得分: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");
希望它会对你有所帮助:)。
答案 1 :(得分:0)
List<WebElement> options = driver.findElements(By.xpath("//option"));
你也可以搜索&#39;选项&#39;带有相对xpath的标签(从已知的&#39; [之前找到的]元素向下搜索),但这需要你添加一个&#39;。&#39;在&#39;选项之前点而不是双斜线。
e.g。
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