如何在表

时间:2018-02-16 07:24:05

标签: java selenium selenium-webdriver

我想点击任意一行的编辑按钮。例如,我想点击带有TRTL的记录的符号按钮。

我试过这样但我收到了错误;

base.Driver.findElement(By.xpath("//td[.='" + "TRTL" + "']/following-sibling::td//button[@data-original-title='Sign']")).click();

以下是" Sign"的HTML源代码。按钮:



<div class="content content-narrow" css="1">
  <div class="block" id="grdPendingMeetingList" style="">
    <div class="block-header" style="">
      <h3 class="block-title"></h3>
    </div>
    <div class="block-content">
      <table class="js-table-sections table table-hover">
        <thead>
          <tr>
            <th style="">Kararlar</th>
            <th> </th>
          </tr>
        </thead>
        <tbody style="">
          <tr>
            <td style="">
              <!-- react-text: 1067 -->TRTL
              <!-- /react-text -->
              <!-- react-text: 1068 -->-
              <!-- /react-text -->
              <!-- react-text: 1069 -->14/02/2018 14:40 Tarihli Müzakereli Yönetim Kurulu Toplantısı Kararları
              <!-- /react-text -->
            </td>
            <td class="text-center">
              <div class="btn-group"><button class="btn btn-sm btn-default" type="button" data-toggle="tooltip" title="" data-original-title="Sign"><!-- react-text: 1073 --> <!-- /react-text --><i class="fa fa-pencil"></i></button><button class="btn btn-sm btn-danger" type="button"
                  data-toggle="tooltip" title="" data-original-title="Delete"><i class="fa fa-trash"></i></button></div>
            </td>
          </tr>
        </tbody>
      </table><button class="btn btn-default push-10-r push-20" id="btnBack" type="button" style=""><i class="si si-arrow-left"></i><!-- react-text: 1079 --> <!-- /react-text --><!-- react-text: 1080 -->Geri<!-- /react-text --></button></div>
  </div>
</div>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:0)

要点击文字为签名的按钮,您可以使用以下代码行:

base.Driver.findElement(By.xpath("//td[.,='TRTL']//following::td[1]//button[@class='btn btn-sm btn-default' and contains(.,'Sign')]/i[@class='fa fa-pencil']")).click();

答案 1 :(得分:0)

试试这个:

base.Driver.findElement(By.xpath("//[@id="grdPendingMeetingList"]/div[2]/table/tbody/tr/td[2]/div/button[1]")).click();

提示:请将签名删除大小 Geri 。它们看起来非常小,几乎看不见。

答案 2 :(得分:0)

在这种情况下,我通常使用获取所有'td'并放入List中。然后我通过查找某个元素来进行循环,在您的情况下,“Sign”。当我找到所需的元素时,我会点击命令。下面给出一个例子。

List<WebElement> columns = dateWidget.findElements(By.tagName("td"));
    for (WebElement cell : columns) {
        if (cell.getText().equals("Sign")) {
            cell.findElement(By.linkText(Sign)).click();
            break;
        }
    }