我使用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>
答案 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);