【发布时间】:2015-03-30 11:04:14
【问题描述】:
我正在尝试验证“提供的信息无效或不完整”的文字。在 Java 中使用 Selenium/WebDriver 显示。
我有以下 HTML:
<div id="validationError">
<ul>
<li>Required: Server Name</li>
<li>Required: Receiving Port</li>
</ul>
</div>
使用以下 CSS 代码:
#validationError:before {
content: 'The information provided is either invalid or incomplete.';
}
这是我当前的 java 代码:
WebElement errorBox = browser.findElement(By.id("validationError"));
Assert.assertNotNull("Could not find validation errors", errorBox);
System.out.println("Error Explanation: " + error.getCssValue("content") + "\n");
List<WebElement> errorList = errorBox.findElements(By.tagName("li"));
for (WebElement error : errorList) {
System.out.println("Error: " + error.getText());
}
System.out.println("\nError Full Text: " + errorBox.getText());
这是我上面代码的输出:
Error Explanation:
Error: Required: Server Name
Error: Required: Receiving Port
Error Full Text: Required: Server Name
Required: Receiving Port
我似乎找不到验证文本“提供的信息无效或不完整”的方法。被展示。在 web 元素上调用 getText() 也不会返回预期的字符串,但会在该 div 中显示任何其他正常文本。有什么想法吗?
【问题讨论】:
-
你能提供
html吗? -
抱歉,我的代码格式有问题,我没有意识到每个代码 sn-p 之前都需要换行符。现在有意义吗?
-
确实如此。但是,你知道
webdriver会先找到元素吗?另外请提供堆栈跟踪问题以供将来参考 -
您能否提供更多的 HTML,包括您尝试访问的文本?
-
我已经更新了我的 HTML 并包含了更多的 java 代码来帮助解释发生了什么。页面呈现如下:
The information provided is either invalid or incomplete.Required: Server NameRequired: Receiving Port我正在尝试验证第一行,“提供的信息无效或不完整。”。但是,由于它来自 CSS,我似乎无法通过正常方式访问它。