java无法从组合框中选择值。需要JS替代方案
我在我们的项目中有一个组合框,我为它编写了XPATH。虽然XPATH检查器在编写XPATH时能够正确地定位它,但是当我运行测试时,它没有执行选择值的操作。我尝试了多个XPath,但似乎没有任何效果
下面是它的HTML设计
<select class="" style="margin-bottom:5px; width:150px; font-size:12px;" name="statusDetail868">
<option value="0">APPROVED</option>
<option selected="selected" value="2">PENDING</option>
<option value="3">REJECTED</option>
</select>
我试过跟随CssSelector
new Select(driver.findElement(By.cssSelector("//select[name='statusDetail798']"))).selectByVisibleText("APPROVED");
没有成功
我正在考虑加入Javascript。我试过这个
js.executeScript("document.getElementsByClassName('').options[2].selected=true");
这给了我错误 “org.openqa.selenium.webdrivexception:document.getElementsByClassName(…)。“选项未定义”
因为它没有“ID”,只有类名,所以javascript可以是什么
# 1 楼答案
正如Arran所说,“您的问题中的CSS选择器是XPath选择器”,那么实际使用XPath选择器如何
driver.findElement(By.xpath("//select[name='statusDetail798']/option[text()='APPROVED']")).click();