java - Selenium 没有选择正确的值

标签 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>

最佳答案

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

1. <option> Fail </option> 2.<option>Fail</option>

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

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();

关于java - Selenium 没有选择正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39270609/

相关文章:

c# - 如何设置 Firefox 配置文件 : Selenium RC, .Net 客户端驱动程序?

java - 我想学习如何为 selenium java 定制 xpath

java - 我在 java 9 中发现了编译器错误吗?

java - 为什么不能从android apk反编译这个方法?

node.js - 为什么我在使用 selenium chromedriver 时会出现此错误?

docker - 容器自行退出并且无法执行

java - 如何指定使用Spring Cloud Stream向RabbitMQ发送消息的超时?

java - Maven TestNG 项目,用 Maven 命令行参数替换属性文件中的值

python - Selenium Chrome Webdriver 获取默认适配器失败错误

java - Firefox headless (headless)在 headless (headless) Redhat Linux 机器上崩溃