需要xpath来选择selenium web driver

时间:2016-03-08 13:14:37

标签: java selenium selenium-webdriver

下面是html代码...我想知道可以使用哪个xpath来选择这样一个复选框。

在实际的HTML代码中,我有多个td复选框,在这里我只显示了一个。

我已经尝试了

driver.findElement(By.id("cntMain_GridView1_chIndividual_0")).click();

但是它在网页上找不到这样的元素时会出错。

<table id="cntMain_GridView1" class="table iconTwo" cellspacing="0" cellpadding="3" style="width:100%;border-collapse:collapse;">
  <tbody>
    <tr>
      <td class="no-sorting" valign="top" align="left" style="width:10px;">
        <p class="defaultP" tabindex="35">
          <span style="display:inline-block;width:5%;">
            <div class="ez-checkbox">
              <div class="ez-checkbox">
                <input id="cntMain_GridView1_chIndividual_0" class="ez-hide" type="checkbox" onclick="javascript:RbtnOnOff(this.id);" name="ctl00$cntMain$GridView1$ctl02$chIndividual" tabindex="-1"/>
              </div>
            </div>
          </span>
        </p>
      </td>
    </tr>
  </tbody>
</table>

1 个答案:

答案 0 :(得分:0)

尝试更改元素的display样式属性,然后单击该元素。使用JavascriptExecutor使元素可见。请尝试以下代码:

JavascriptExecutor js = (JavascriptExecutor) driver;
String domain_name = (String) js.executeScript("return document.getElementById(" +
             "'cntMain_GridView1_chIndividual_0').style.visibility = 'visible'");

driver.findElement(By.id("cntMain_GridView1_chIndividual_0")).click();