kif1205 / Selenium

0 stars 0 forks source link

XPATH - Contains #6

Open kif1205 opened 5 years ago

kif1205 commented 5 years ago

The outerHTML Format

<div _ngcontent-c8="" class="accordion-group">
  <div _ngcontent-c8="" class="accordion-heading accordion-heading-open">

    <div _ngcontent-c8="" class="accordion-title d-flex justify-content-between">
      <div _ngcontent-c8="">bmc</div>
      <!---->
      <div _ngcontent-c8="" class="accordion-toggle"></div>

    </div>

  </div>
  <div _ngcontent-c8="" class="panel-collapse">
    <div _ngcontent-c8="" class="panel-body">

          <div class="card">
            <div class="card-block">
            <app-firmware-inventory><form class="form ng-valid ng-dirty ng-touched" novalidate="">

  <div>
  <div class="form-group row">
    <label class="control-label col-sm-4">Name</label>
    <div class="col-md-4">
      <div>bmc Firmware</div>
    </div>
  </div>

    <div class="form-group row">
      <label class="control-label col-sm-4">Status</label>
      <div class="col-md-4">
        <div>Enabled</div>
      </div>
    </div>

    <div class="form-group row">
      <label class="control-label col-sm-4">Version</label>
      <div class="col-md-4">
        <div>v3.0-2019-r7-dev-20190802150352</div>
      </div>
    </div>

    <!----><div class="form-group row pr-4 pl-4">
      <fieldset class="scheduler-border">
        <legend class="scheduler-border">Update
          <div class="radio-item">
            <input type="radio" id="rdoUploadType1bmc" class="ng-untouched ng-pristine" disabled="">
            <label for="rdoUploadType1bmc">TFTP</label>
          </div>
          <div class="radio-item">
            <input disabled="" type="radio" id="rdoUploadType2bmc" class="ng-untouched ng-pristine">
            <label for="rdoUploadType2bmc">Image Upload</label>
          </div>
        </legend>
        <!----><div class="form-group row">
            <label class="control-label col-sm-4">TFTP Path</label>
            <div class="col-md-6">
              <!---->
                <div>
                  <input name="txtTFTPPath" required="" size="25" type="text" class="ng-valid ng-dirty ng-touched">
                </div>
                <div class="pt-2">
                  <button class="btn btn-vertiv" type="button">
                    Start Update
                  </button>
                </div>

              <!---->
            </div>
        </div>
        <!---->
      </fieldset>
    </div>

  </div>
</form>
</app-firmware-inventory>
            </div>
          </div>

    </div>
  </div>
</div>
kif1205 commented 5 years ago
  1. Use * (Not recommend , because sometime can't locate the path)

    "//*[contains(@class, 'accordion-group')]//*[contains(@class,'form ng-valid ng-dirty ng-touched')]//*[contains(@class,'scheduler-border')]//*[contains(@class,'btn btn-vertiv')]"
  2. absolute path

    "//app-accordion//app-firmware-inventory/form/div/div[4]/fieldset/div/div/div[2]/button"
  3. Use function name to replase *

    "//div[contains(@class, 'accordion-group')]//fieldset[contains(@class,'scheduler-border')]//button[contains(@class,'btn btn-vertiv')]"
  4. Use equal character for class attribute

    "//div[@class='accordion-group']//fieldset[@class='scheduler-border']//button[@class='btn btn-vertiv']"