Selenium Webdriver查找元素(按钮)

时间:2016-12-30 15:29:00

标签: selenium-webdriver automated-tests

我需要我的脚本才能点击按钮。到目前为止,我已尝试过这个 -

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

和此按钮的HTML是 -

    <td class="Button">
<input class="btn" value="Click here to get started" name="button_click" onclick="this.form.action = '/servlet/servlet.Integration?lid=0076878676545487SVD2&eid=465124652J9ly&ic=1&retURL=%24848676854684y&wrapMassAction=1&scontrolCaching=1&linkToken=gituuiyiiuhjgd46etfjgioyyo8yo8ylihvTDNfLWhzdm5KLFlXWmtNR0po'; this.form.onsubmit = function() { return true }" title="page title" type="submit"/>
</td>

但它没有正确识别按钮。

2 个答案:

答案 0 :(得分:3)

您尝试按id搜索按钮,但您的按钮没有id。解决方案是将id添加到具有相应值的按钮:

    <td class="Button">
<input class="btn" value="Click here to get started" id="button_click" name="button_click" onclick="this.form.action = '/servlet/servlet.Integration?lid=0076878676545487SVD2&eid=465124652J9ly&ic=1&retURL=%24848676854684y&wrapMassAction=1&scontrolCaching=1&linkToken=gituuiyiiuhjgd46etfjgioyyo8yo8ylihvTDNfLWhzdm5KLFlXWmtNR0po'; this.form.onsubmit = function() { return true }" title="page title" type="submit"/>
</td>

如果这不是一个选项,那么你可以按name搜索元素,但是会返回一个列表,你需要从那里选择正确的元素,如果有的话,这很简单单个元素。

答案 1 :(得分:1)

您可以使用

driver.findElement(By.CssSelector("input.btn:nth-of-type(X)")).click();

    <div class="container content">
  <div class="row">
    <div class="col-md-3">
      <p>Lorem ipsum</p>
    </div>
    <div class="col-md-7 content--border">
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Perferendis facere assumenda magni dolor velit ullam deleniti tempora! Officia quo laboriosam dicta, animi ipsam expedita quasi magnam velit eligendi similique, dolor!</p>
    </div>
  </div>
  <div class="row">
    <div class="col-md-3  ">
      <p>Lorem ipsum 2</p>
    </div>
    <div class="col-md-7 content--border">
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Perferendis facere assumenda magni dolor velit ullam deleniti tempora! Officia quo laboriosam dicta, animi ipsam expedita quasi magnam velit eligendi similique, dolor! Lorem ipsum dolor sit
        amet, consectetur adipisicing elit. A asperiores, quisquam illo animi eaque repudiandae excepturi tenetur, vel laudantium quas corporis explicabo laborum non minus dolor temporibus nesciunt vero. Id!
      </p>
    </div>
  </div>
  <div class="row">
    <div class="col-md-3">
      <p>Lorem ipsum 3</p>
    </div>
    <div class="col-md-7 content--border">
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Perferendis facere assumenda magni dolor velit ullam deleniti tempora! Officia quo laboriosam dicta, animi ipsam expedita quasi magnam velit eligendi similique, dolor!</p>
    </div>
  </div>
</div>

您的页面中可能有多个带有'btn'类的输入,因此X将代表您想要的其中一个按钮。