硒-单击标签复选框

约翰·杜2016

我正在编写代码以在C#中使用Selenium测试网页,并且需要单击带有动态生成的参数的复选框。这是html的代码段:

<input type="checkbox" value="2948" onclick="locBoxOnClick(this, 0);" name="locCombo2948">
  <label for="locCombo2948">
    AL          
    <br>
  </label>

我可以使用XPath找到标签,但是当我尝试实际单击该框时,什么也没发生。

代码:

By.XPath("(//*[contains(text(), '" + appDto.StatePicker_SpecificCheckbox +     "')])").Click();

编辑:最后使用某种贫民窟的方法解决了它,但它的工作原理是:

By.XPath(".//label[contains(text(), '" + appDto.StatePicker_SpecificCheckbox     + "')]/../input")

基本上,您会找到标签,转到父节点,然后转到其输入子节点。希望这对其他人有帮助!

索拉布·高尔(Saurabh Gaur)

实际上您使用的是错误的xpath,提供xpathlabel元素是loc,而您需要input使用label,因此您应该尝试使用xpath下方的标签文本来选中复选框:

appDto.StatePicker_SpecificCheckbox = "AL"

By.XPath(".//input[following-sibling::label[contains(., '" + appDto.StatePicker_SpecificCheckbox + "')]]").Click();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章