无法从组合框中选择值。需要JS替代品

时间:2013-10-30 18:21:28

标签: java selenium-webdriver

我的项目中有一个组合框,我编写了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");

它给了我错误 &#34; org.openqa.selenium.WebDriverException:document.getElementsByClassName(...)。options未定义&#34;

它可能是javascript,因为它没有&#34; ID&#34;只有班级名称?

1 个答案:

答案 0 :(得分:0)

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

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