首页 文章

无法使用XPath表达式找到LABEL的元素

提问于
浏览
3

我正在尝试下面的标签的xpath,但我无法找到该元素 .

driver.findElement(By.xpath("//div[label[contains(text(),'Patient's Name']]")).isEnabled();

XPath: .//*[@id='update_patient_profile']/div/div[1]/label ---取自FirePath .

以下是该字段的HTML源代码 .

<form id="update_patient_profile" action="/subscriber/" method="post" name="update_patient_profile"> 
  <div class="subscriberAddPatient"> 
    <div class="formData nameInputs"> 
  <label for="first_name">Patient's Name</label>
  <input id="first_name" class="left nameRule" type="text" onblur="resetTxtAdd($(this))" onfocus="emptyFieldAdd($(this))" onclick="emptyFieldAdd($(this))" name="first_name" value="First Name" maxlength="24"/>

任何人都可以建议我正确的标签XPath .

4 回答

  • 0

    你应该使用下面的 XPATH

    //*[@id='update_patient_profile']//div[2]/label[.='Patient's Name']
    
  • 1

    //form[@id='update_patient_profile']/label[text()='Patient's Name']

    由于 label 标记也是表单标记的子标记 .

  • 6

    也可以使用 text() 而不是dot "." . 要验证标签文本,也可以使用此路径

    //form[@id='update_patient_profile']//div[2]/label[text()='Patient's Name']
    
  • 0

    这将直接找到 Patient's Name 的标签 .

    //label[@for="first_name"]
    

相关问题