使用Java中的SeleniumWebDriver.getText()函数,我试图访问一些没有任何积极结果的文本。甚至不在WebElement对象中。我要获取的文本是:";eNewsletter注册";
我从中获取的HTML代码如下所示:
<a class="footer" href="/contact/email-sign-up/" onclick="aloneTracking('footerEmailSignUp')">eNewsletter Sign Up</a>
Java代码如下所示:
List<WebElement> idElemList = driver.findElements(By.className("footer"));
System.out.println(idElemList.size());
String str = "";
if (idElemList.size() > 0) {
WebElement firstElement = idElemList.get(0);
str = firstElement.toString();
System.out.println("**** : " + str);
str = firstElement.getText();
System.out.println("¨¨" + str);
}
在第一个System.out.println()中,我得到的列表有九个元素长。
第二:
<a onclick="aloneTracking('footerEmailSignUp')" href="/contact/email-sign-up/" class="footer">
第三:
<a onclick="aloneTracking('footerEmailSignUp')" href="/contact/email-sign-up/" class="footer">
我怎样才能收到那条短信?
一个更简单的解决方案是通过链接文本找到元素,并在该元素上调用getText
By.ByLinkText By.ByPartialLinkText
第二个和第三个是字符串str
执行以下操作后的值:
第二:
firstElement = idElemList.get(0);
str = firstElement.toString();
System.out.println("xxxx : " + str);
System.out.println:的结果
xxxx : <a onclick="aloneTracking('footerEmailSignUp')" href="/contact/email-sign-up/" class="footer">
第三:
WebElement firstElement = idElemList.get(0);
str = firstElement.getText();
System.out.println("¨¨ : " + str);
System.out.println:的结果
¨¨ : <a onclick="aloneTracking('footerEmailSignUp')" href="/contact/email-sign-up/" class="footer">