我正在尝试遍历列表标记并收集所有元素,如果它与给定字符串匹配,则单击特定项目。
HTML代码为:
<ul multiple="multiple" name="optionsTab" taborder="1" class="focus">
<li value="2" selected="selected">option1</li>
<li value="5" selected="selected">option2</li>
<input id="form-3-input-5" name="optionsTab" type="hidden" value= "2,5">
</ul>
Java代码:
webdriver1.findElement(By.xpath("//ul/li[1]")).click();
直接点击option1给我一个elementNotFoundException。
找到li标签并访问列表的最佳方法是什么。
答案 0 :(得分:1)
最简单的情况是首先找到列表Webelemebt list = driver.findElement(By.name("optionsTab"));
,然后找到该列表中的元素List<Webelement> elements = list.findElements(By.xpath("//li"));
然后,您可以迭代集合中的每个元素,以找到所需的元素。
答案 1 :(得分:1)
您还可以使用以下 XPATH
//ul[@name='optionsTab']/li[1]
答案 2 :(得分:0)
您还可以使用以下CssSelector方法:
webdriver1.findElement(By.CssSelector( “UL [名= 'optionsTab']&GT;李[值= '2']”))点击();
如果你不断获得ElementNotFound异常,你确定这个元素已经加载了吗?你总是可以尝试等待元素吗?