我在下面有一个检索HTML标记的方法:
public void CheckEmailDisplayed()
{
var email = _driver.FindElement(ConfirmationResponsiveElements.ViewEmail);
}
ViewEmail如下:
public static By ViewEmail => By.ClassName("confirmation-banner__text");
它对应的HTML是:
<div class="confirmation-banner__text firefinder-match">
<p>
We've sent an email to
<strong>firstname@xxx.com</strong>
</p>
<p>
</div>
我想要做的是能够使用变量email
检查文本是否包含@。这是为了帮助确定显示的电子邮件地址。如何实现这一目标?
谢谢
答案 0 :(得分:1)
选项1:检查@符号
ani.onStopped
选项2:验证电子邮件地址
string email = "test@domain.com";
if (email.Contains("@"))
{
// code here
}
如何使用选项2:
public static bool IsEmail(string emailToValidate)
{
if (string.IsNullOrEmpty(emailToValidate)) return true;
return Regex.IsMatch(emailToValidate, @"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
}
答案 1 :(得分:0)
您可以添加其他定义
var divs = Array.from({length:10}) // lets make an array of 10 divs
.map(function(_,i){
var el = document.createElement('div');
el.textContent = `I am div # ${i}`;
return el;
});
document.body.append(...divs);
然后使用
public static By ViewEmailAddress => By.TagName("strong");
然后您可以在var emailAddress = emai.FindElement(ConfirmationResponsiveElements.ViewEmailAddress);
var emailAddressText = emailAddress.Text;
上执行您想要的其他操作。就像验证它具有emailAddressText
或进行更复杂的验证一样,如电子邮件模式检查
答案 2 :(得分:0)
您可以使用IndexOf方法
bool found = Value1.IndexOf("abc", 0, 7) != -1;
OR
你也可以使用正则表达式(虽然不太可读)
string regex = "^.{0,7}abc";
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(regex);
string Value1 = "sssddabcgghh";
Console.WriteLine(reg.Match(Value1).Success);
资料来源: - How to determine if string contains specific substring within the first X characters