有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    正如Arran所说,“您的问题中的CSS选择器是XPath选择器”,那么实际使用XPath选择器如何

    driver.findElement(By.xpath("//select[name='statusDetail798']/option[text()='APPROVED']")).click();