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 都是比赛。
<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 都是比赛。