Java 如何找到具有两种状态的占位符:clear和class=";“错误”;
我正在测试ContactUs表单。 字段中的占位符有两种状态。 第一个状态-未填写任何内容时Java 如何找到具有两种状态的占位符:clear和class=";“错误”;,java,selenium,selenium-webdriver,xpath,css-selectors,Java,Selenium,Selenium Webdriver,Xpath,Css Selectors,我正在测试ContactUs表单。 字段中的占位符有两种状态。 第一个状态-未填写任何内容时 <label for="edit-submitted-name">Name </label> 要验证是否存在class=“error”,可以使用以下解决方案: 使用css选择器: try { driver.findElement(By.cssSelector("label[for='edit-submitted-name']:not(.error)")) Sy
<label for="edit-submitted-name">Name </label>
要验证是否存在
class=“error”
,可以使用以下解决方案:
- 使用
:css选择器
try { driver.findElement(By.cssSelector("label[for='edit-submitted-name']:not(.error)")) System.out.println("Validation okay"); } catch (NoSuchElementException e) { System.out.println("Validation down"); }
- 使用
:xpath
try { driver.findElement(By.xpath("//label[@for='edit-submitted-name' and not(@class='error')]")) System.out.println("Validation okay"); } catch (NoSuchElementException e) { System.out.println("Validation down"); }
class=“error”
,可以使用以下解决方案:
- 使用
:css选择器
try { driver.findElement(By.cssSelector("label[for='edit-submitted-name']:not(.error)")) System.out.println("Validation okay"); } catch (NoSuchElementException e) { System.out.println("Validation down"); }
- 使用
:xpath
try { driver.findElement(By.xpath("//label[@for='edit-submitted-name' and not(@class='error')]")) System.out.println("Validation okay"); } catch (NoSuchElementException e) { System.out.println("Validation down"); }
错误
字符串实例,最好明确标识唯一元素,这样就不会出现误报匹配
以下是如何使用XPath定位器完成此操作:
//label[@for='edit-submitted-name' and not(@class='error')]
//label[@for='edit-submitted-name' and @class='error']
if (driver.findElements(By.xpath("//label[@for='edit-submitted-name' @class='error']")).size() > 0) {
System.out.println("Validation error is present.");
}
更多信息:
错误
字符串实例,最好明确标识唯一元素,这样就不会出现误报匹配
以下是如何使用XPath定位器完成此操作:
//label[@for='edit-submitted-name' and not(@class='error')]
//label[@for='edit-submitted-name' and @class='error']
if (driver.findElements(By.xpath("//label[@for='edit-submitted-name' @class='error']")).size() > 0) {
System.out.println("Validation error is present.");
}
更多信息:
标签[for='edit-submitted-name']
这可以通过使用简单的CSS选择器来实现,请参见以下内容
正常状态
label[for='edit-submitted-name']
非常感谢。现在可以了,非常感谢。现在可以工作了。