Selenium没有选择正确的值

时间:2016-09-01 11:41:23

标签: java selenium

我使用selenium来测试一个有选择选项和一个输入类型文本的网页。

手动并使用selenium IDE,它可以正常工作,但是当我将测试用例导出到Java Junit时,我可以看到下拉单击,但是selenium没有选择值,它只是扩展了下拉列表。

我该怎么办?

让我们检查一下我的代码:

Select dropdown = new Select(driver.findElement(By.id("type")));
dropdown.selectByVisibleText("Celcius");

考虑我的表格,如:

<form action="doit">
    <select name="type" id = "type">
        <option value = "fail"> Fail </option>
        <option value = "celcius"> Celcius </option>        
    </select>
    <input type="number" name="num" id="num">
</form>

2 个答案:

答案 0 :(得分:1)

有时这种方法不起作用。如果选项标记之间的文本在标记之前和之后有空格,则可能会发生这种情况。 例如。

1。<option> Fail </option> 2。<option>Fail</option>

在上面的例子中,1和2是不同的。 所以你可以使用like,

driver.findElement(By.id("type")).click();     // this will expand the list
driver.findElement(By.xpath("//select[@id='type']/option[contains(text(),'Celcius')]")).click();

也尝试直接点击。如果元素是可行的,它可以工作,

driver.findElement(By.xpath("//select[@id='type']/option[contains(text(),'Celcius')]")).click();

答案 1 :(得分:1)

driver.findElement(By.id(&#34;类型&#34))的SendKeys(&#34;摄氏度&#34);