code: public int getRowIndex(String[] searchKeys) {
          int numKey = searchKeys.length;
          int rowCount = getNumberOfRows();
  
          String xPathBase, xPath, value;
          xPathBase = getXPathBase();
  
          int rowIndex = -1;
          for (int i = getDataStartIndex(); i <= rowCount; i++) {
              xPath = xPathBase + "tr[" + i + "]";
              // get table row as text
              value = HtmlElementUtils.locateElement(xPath).getText();
  
              // search the table row for the key words
              if (value.length() > 0) {
                  for (int s = 0; s < numKey; s++) {
                      if (searchKeys[s] != null && ((String) searchKeys[s]).length() > 0) {
                          if (value.contains((CharSequence) searchKeys[s])) {
                              rowIndex = i;
                          } else {
                              rowIndex = -1;
                              break;
                          }
                      }
                  }
              }
              if (rowIndex > 0) {
                  break;
              }
          }
  
          return rowIndex;
      }
docs: Searches all rows from a table for the occurrence of the input search strings and returns the index to the row
  containing all the search strings. The search will NOT be performed on the column's row(s).<br>
  <br>
  <b>Usage:</b>
  
  <pre>
  String[] search = { &quot;Payment To&quot;, &quot;-$7.00 USD&quot; };
  int searchRow = findRowNumber(search);
  </pre>
  
  @param searchKeys
  String[] array with as many values as need to identify the row
  @return int number of first row where all conditions were met <br>
  Negative number indicates that row was not found