【发布时间】:2015-03-25 19:41:12
【问题描述】:
我正在使用 Selenium WebDriver,并希望根据 Excel 文件中名为 MovieType 的列的值勾选特定的 HTML 复选框。如果列包含Yes,则应勾选复选框,如果列包含No,则取消勾选。
HTML 代码如下所示:
<input type="checkbox" onclick="trigger functionA();" tabindex="4" value="vnow" name="movie_Type"/>
如果我的 Excel 文件包含 Yes/No 而不是 vnow,如何设置复选框的值? HTML 是其他开发人员编写的,所以我不能修改它。
这是我的 Selenium Java 代码:
public static WebElement chkbx_selectMovieType(WebDriver driver, String value) throws Exception{
try{
List<WebElement> chkbxMovieType = driver.findElements(By.name("movie_Type"));
for(WebElement chkbx : chkbxMovieType){
if(chkbx.getAttribute("value").equalsIgnoreCase(value))
chkbx.click();
}
}catch (Exception e){
throw(e);
}
return element;
}
欢迎提出任何建议。谢谢。
【问题讨论】:
-
嗨@GoBusto,我也知道如何做(1)和(2),因为html中的复选框值既不是“y,n,true或false”,我怎么能将其设置为“y、n、true 或 false”,以便在 Excel 文件中用户键入可读值(例如 true),然后如果值 MovieType 的 excel 列为 true,selenium 将选中复选框
-
好的,我明白了 - 所以问题是 HTML 文件将复选框定义为
<input type="checkbox" value="vnow">,但您在查询值时希望看到是/否而不是“vnow”。我不确定,但我认为除非更改 HTML 文件,否则无法解决此问题。 编辑:也许this 会有所帮助 - 它说使用checked而不是value。 -
之前 selenium 可以勾选复选框(如果 html 中的值为 y /true)。现在我的 html 值是“vnow”,我不想在 excel 文件中设置 vnow,所以复选框将被选中。我希望像 y 或 true 这样可读的东西
标签: html selenium checkbox selenium-webdriver