import.io 使用包含特定 value/character 的 xpath 选择 css class

import.io selecting css class with xpath that contain certain value/character

<div id="mDetails">
<span class="textLabel">Bar Number:</span>
    <p class="profileText">YYYYYYYYYYYYYYYYYYYY</p>
<span class="textLabel">Address:</span>
    <p class="profileText">YYYYYYYYYYYYYYYYYYY<br>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY<br>United States</p>
<span class="textLabel">Phone:</span>
    <p class="profileText">123465798</p>
<span class="textLabel">Fax:</span>
    <p class="profileText">987654321</p>
<span class="textLabel">Email:</span>
    <p class="profileText">regina@rbr3.com</p>
<span class="textLabel">County:</span>
    <p class="profileText">YYYYYYYYYYYYYYY</p>
<span class="textLabel">Circuit:</span>
    <p class="profileText">YYYYYYYYYY</p>
<span class="textLabel">Admitted:</span>
    <p class="profileText">00/00/0000</p>
<span class="textLabel">History:</span>
    <p class="profileText">YYYYYYYYYYYYYYYYY</p>

我试图 select 仅当我使用 //*[@class="profileText"] 时可用的电子邮件 return 一切都与此 class 相关,我只想 return 当值中存在 @ 时。

通过调整输入 XML 将 <br> 更改为 <br/>(否则无效 XML),以下 XPath 选择所有 p 具有 class profileText 且包含 @:

的元素
//p[@class='profileText'][contains(.,'@')]

returns

<p class="profileText">regina@rbr3.com</p>

如果只想获取值,可以使用string()

string(//p[@class='profileText'][contains(.,'@')])

returns

regina@rbr3.com

请注意,string() 只会 return 第一个匹配的值,而第一个 XPath returning p 元素 return 都是比赛。