Selenium:测试元素是否包含一些文本

时间:2012-03-29 08:53:33

标签: html selenium selenium-ide

使用Selenium IDE,如何测试元素的内部文本是否包含特定字符串?例如:

<p id="fred">abcde</p>
'id=fred' contains "bcd" = true)

6 个答案:

答案 0 :(得分:23)

Selenium-IDE documentation在这种情况下很有用。

您要查找的命令为assertText,定位器为id=fred,文字为*bcd*

答案 1 :(得分:4)

可以使用简单的通配符完成:

verifyText
id="fred"
*bcd*

请参阅selenium IDE Doc

答案 2 :(得分:4)

您也可以使用:

assertElementPresent
css=p#fred:contains('bcd')

答案 3 :(得分:1)

你是否可以使用jQuery,如果是这样尝试

$("p#fred:contains('bcd')").css("text-decoration", "underline");

答案 4 :(得分:1)

似乎正则表达式可能有效:

"The simplest character set is a character. The regular expression "the" contains three
character sets: "t," "h" and "e". It will match any line with the string "the" inside it.
This would also match the word "other". "

(来自网站:http://www.grymoire.com/Unix/Regular.html

如果您使用的是visual studio,则可以使用正则表达式(不仅包含)来评估字符串的功能:

using System.Text.RegularExpressions;

Regex.IsMatch("YourInnerText", @"^[a-zA-Z]+$");

我发布的表达式将检查字符串是否只包含字母。

然后根据我的链接,你的正则表达式将是“bcd”或你在运行时构造的一些字符串。或者:

Regex.IsMatch("YourInnerText", @"bcd");

(无论如何都是这样的)

希望它有所帮助。

答案 5 :(得分:-1)

您可以使用命令assertTextPresentverifyText