<div class="request-credentials-view drawer">
<div class="tip-inner" style="width: 686px;">
<div class="drawer-arrow" style="left: 926.55px;"></div>
<h3 class="heading">We've sent you an email </h3>
需要提取文字“我们已向您发送了一封电子邮件”。在x-path检查器中使用波纹管时:
//div[@class='request-credentials-view drawer']//h3[@class='heading']//*[text()="We've sent you an email"]
得到“找不到匹配”。也:
//div[@class='request-credentials-view drawer']//h3[(@class='heading')]//*[text()='<template>']
在selenium web驱动程序代码中不起作用。
答案 0 :(得分:1)
您是否尝试过contains()
功能
//h3[contains(text(),"We've sent you an email")]
我真正喜欢的一件事是你可以在text()中进行部分匹配,特别是排除空格
答案 1 :(得分:1)
或者,如果您想依赖元素的文本,请使用normalize-space()
去除文本周围的空格:
normalize-space功能剥离前导和尾随空格 从字符串中,用空格替换单个空白字符序列 space,并返回结果字符串。
//h3[normalize-space(.) = "We've sent you an email"]
或者,您可以使用CSS选择器找到h3
元素,同时检查所需元素的类属性值:
div.request-credentials-view h3.heading
答案 2 :(得分:0)
试试这个:
String message = driver.findElement(By.className("heading")).getText();
System.out.println(message);