JAVA-如何在selenium中使用xpath
我有以下html代码:JAVA-如何在selenium中使用xpath,java,select,xpath,selenium,Java,Select,Xpath,Selenium,我有以下html代码: <select name="category" id="category"> <option value="0">«Seleziona la categoria»</option> <option value='1' style='background-color:#ddd' disabled="disabled" id='cat1' >-- VEICOLI --<
<select name="category" id="category">
<option value="0">«Seleziona la categoria»</option>
<option value='1' style='background-color:#ddd' disabled="disabled" id='cat1' >-- VEICOLI --</option>
<option value='2' id='cat2' >Auto</option>
</select>
但每个人都给了我:
Exception in thread "main" org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"xpath","selector":"/select[@id=category]/option[@id=cat2]"} ( and other xpath i tried)
Command duration or timeout: 1.52 seconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
正确的语法是什么?有人能帮我吗?您的XPath语法不正确。需要在匹配的文本属性值周围加引号。尝试:
d.findElement(By.xpath("//select[@id='category']/option[@id='cat2']")).click();
阅读我建议,如果您知道选项的ID,您只需使用d.findElement(By.ID(“cat2”));它很简单,在ID存在时始终有效,并且不需要XPath知识。如果您正在搜索具有已知ID的元素,则无需调用XPath。XPath已启用,但您可以通过执行d.findElement(by.XPath(//option[@ID='cat2'])来进一步缩减它;
d.findElement(By.xpath("//select[@id='category']/option[@id='cat2']")).click();