selenium - 单击基于表列值的复选框 - IE Webdriver Selenium

标签 selenium xpath selenium-webdriver xpath-2.0

使用 Xpath 单击基于表列值的复选框。下面是html

  <table id="tblHotels"> 
  <TBODY> 
    <TR> 
      <TH align="left"> 
        <INPUT checkbox="" id="chkNSelectAll  name=chkNSelectAll  type="/> 
      </TH>  
      <TH align="left" title="Hotel">Hotel</TH>  
      <TH title=" align=left"> 
        <SPAN id="spnExpandBtn">
          <IMG/>
        </SPAN> 
      </TH>  
      <TH align="left" title="Hotel">Hotel</TH>  
      <TH align="left" title="Reg Date">Reg Date</TH>  
      <TH align="left" title="Room Type">Room Type</TH>  
      <TH align="left" title="Location">Location</TH>  
      <TH align="left" title="Room Number">Room Number</TH> 
    </TR>  
    <TR> 
      <TD colSpan="11"> 
        <IMG src=" ../NoExpiry/images/uaimBSpacer.gif"/> 
      </TD> 
    </TR>  
    <TR> 
      <TD> 
        <INPUT id="chkNSelect" name="chkNSelect" type="checkbox" value="on"/> 
      </TD>  
      <TD customHiddenText="">MATHEW Joe</TD>  
      <TD/>  
      <TD customHiddenText=""> 
        <SPAN>Affray (
          <STRONG/>Kim Lee)
        </SPAN> 
      </TD>  
      <TD class="regDate customHiddenText=">10/01/2014</TD>  
      <TD customHiddenText="">1HE</TD>  
      <TD customHiddenText="">South West </TD>  
      <TD id="tdChildroom name=" tdChildroom=""/>  
      <INPUT id="hidYID" name="hidYID" type="hidden" value="409"> 
        <INPUT id="hidYD" name="hidYD" type="hidden"> 
          <INPUT id="hidYDID" name="hidYDID" type="hidden" value="1015389"/> 
        </INPUT> 
      </INPUT> 
    </TR>  
    <TR> 
      <TD> 
        <INPUT id="chkNSelect" name="chkNSelect" type="checkbox" value="on"/> 
      </TD>  
      <TD customHiddenText="">MATHEW Penny</TD>  
      <TD/>  
      <TD customHiddenText=""> 
        <SPAN>Affray (
          <STRONG/>Jim Lee)
        </SPAN> 
      </TD>  
      <TD class="regDate customHiddenText=">10/01/2014</TD>  
      <TD customHiddenText="">1HE</TD>  
      <TD customHiddenText="">South West </TD>  
      <TD id="tdChildroom name=" tdChildroom=""/>  
      <INPUT id="hidYID" name="hidYID" type="hidden" value="409"> 
        <INPUT id="hidYD" name="hidYD" type="hidden"> 
          <INPUT id="hidYDID" name="hidYDID" type="hidden" value="1015389"/> 
        </INPUT> 
      </INPUT> 
    </TR> 
  </TBODY> 
</table>

这就是我正在尝试的,这总是点击第一个复选框?

Driver.FindElementByXPath("//td[contains(text(),'MATHEW Penny')]/preceding::td/input[@name='chkNSelect']").Click() 

如果我尝试只查找包含文本的列,它可以找到它,而不是为什么它找不到前面的复选框并跳转到第一行复选框?

 Driver.FindElementByXPath("//td[contains(text(),'MATHEW Penny')]

我的要求是选择第一个复选框(执行某些操作,例如:将其添加到另一个表)取消选中它,然后选中第二个复选框(执行某些操作,例如:将其添加到另一个表)。

最佳答案

用于马修·佩妮:

//td[contains(text(),'Penny')]/preceding-sibling::td/input[@name='chkNSelect']

用于马修·乔:

//td[contains(text(),'Joe')]/preceding-sibling::td/input[@name='chkNSelect']

关于selenium - 单击基于表列值的复选框 - IE Webdriver Selenium,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22039158/

相关文章:

html - 使用 Ruby 和 Selenium Webdriver find_elements 根据条件选择并单击特定链接

selenium - 如何用 PhantomJS 替换 Chrome 以与 Selenium 和 Conductor 一起使用?

java - 是否有现成的可同时进行 cucumber 测试的基础设施?

xslt - xsl "following"返回的不是预期的结果

selenium - 使用 phantomjs/selenium 单击 Google OAuth2 批准按钮

java - 无法对 webdrivermanger 使用 git 个人访问 token ?

java - 如何在 selenium webdriver 框架中定位或使用不同的定位器?

xml - 如何在不将重复空格替换为单个空格的情况下修剪 XSLT 中的空格?

xml - 如何找到计数最高的节点?

selenium-webdriver - org.openqa.selenium.WebDriverException : Unable to bind to locking port 7054 within 45000 ms