![](/img/trans.png)
[英]How to get the CSS class of a span using Selenium Web Driver in Java
[英]How to extract an email address which is not in a regular expression format from a span text using selenium web driver?
我正在开发一个自动化项目。我必须从span文本中获取所有电子邮件地址,这些地址将包含200以上的字符。但是电子邮件地址不是正则表达式格式,而是显示为Eg: - xxx(at)abc(dot)com aaa(at)yyy(dot)com
那么如何从下面的段落中提取这些内容
AAAAAAAAA AAAAAAA AAAAAAAAAAAA AAAAAAAA AAAAAAAA XXX(在)ABC(点)的COM BBBBBB BBBBBBBB bbbbbbbbbbbb bbbbbbbbbbbbbbbbbbb ggggggggggggg AAA(在)YYY(点)的COM ccccccccccccccc DDD CCC EEEEEE FFF GGGGG 11111(在)22222(点)的COM。
public class Foxpro_Class {
public static void main(String[] args)
{
String emailStr="aaaaaaaaa aaaaaaa aaaaaaaaaaaa aaaaaaaa aaaaaaaa xxx(at)abc(dot)com bbbbbb bbbbbbbb bbbbbbbbbbbb bbbbbbbbbbbbbbbbbbb ggggggggggggg aaa(at)yyy(dot)com ccccccccccccccc ddd ccc eeeeee fff ggggg 11111(at)22222(dot)com zzzzzz";
validate(emailStr);
}
public static final Pattern VALID_EMAIL_ADDRESS_REGEX =
Pattern.compile("^[A-Z0-9._%+-]+(at)[A-Z0-9.-]+(dot)[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE);
public static boolean validate(String emailStr) {
Matcher matcher = VALID_EMAIL_ADDRESS_REGEX .matcher(emailStr);
System.out.println(matcher.toString());
return matcher.find();
}
}
在问题中提供的文本中,每个单词之间都有空格。 我们可以使用它将文本拆分为Array,然后我们可以将emailIds分开
// Find the span tag which contains text (at) and (dot) and get the text
Sting textInElement = driver.findElement(By.xpath("//span[contains(.,'(at)')][contains(.,'(dot)')]")).getText();
// Split the String based on space
String[] textRequired = textInElement.split(" ");
// Iterate through array to print the array component containing (dot) and (at)
for (int i=0; i<string.length; i++) {
if (string[i].contains("(at)")&&string[i].contains("(dot)"))
System.out.println(string[i]);
}
这段代码来自这里 ,我只做了很小的改动
public static final Pattern VALID_EMAIL_ADDRESS_REGEX =
Pattern.compile("^[A-Z0-9._%+-]+(at)[A-Z0-9.-]+(dot)[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE);
public static boolean validate(String emailStr) {
Matcher matcher = VALID_EMAIL_ADDRESS_REGEX .matcher(emailStr);
return matcher.find();
}
让我知道它是否有效。 如果你想要更多的帮助,如果它不符合你喜欢的一切,提供详细的例子。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.