我有以下场景:
<div>
<ul class="select2-results" style="width: 400px;">
<li class="select2-results-dept-0 select2-result select2-result-selectable">
<div class="select2-result-label">
<span id="12345" class="null">
GBP
</span>
</div>
</li>
<li class="select2-results-dept-0 select2-result select2-result-selectable">
<div class="select2-result-label">
<span id="45678" class="null">
KPW
</span>
</div>
</li>
<li class="select2-results-dept-0 select2-result select2-result-selectable">
<div class="select2-result-label">
<span id="12345" class="null">
USD
</span>
</div>
</li>
</ul>
</div>
我需要从中选择货币。我正在尝试以下操作,但没有办法:
assert $('UL.select2-results LI.select2-results-dept-0.select2-result.select2-result-selectable', 0..2)*.text() == ["GBP", "KPW", "USD"]
连我都搞不定:
assert $('UL.select2-results LI.select2-results-dept-0.select2-result.select2-result-selectable')*.size() == 3
不过,我可以处理单个元素:
assert $('UL.select2-results').find("LI.select2-results-dept-0.select2-result.select2-result-selectable", 0).text() == "GBP"
任何帮助或建议对我来说都是非常有益的!谢谢!
最佳答案
仅通过观察您的示例,您得到的是 3 个 DIV
。看起来您需要更深入一点,在星号之前添加 .find('span')
。
assert $(
'UL.select2-results LI.select2-results-dept-0.select2-result.select2-result-selectable',
0..3)*.text() == ["GBP", "KPW", "USD"]
成为
assert $(
'UL.select2-results LI.select2-results-dept-0.select2-result.select2-result-selectable',
0..3).find('span')*.text() == ["GBP", "KPW", "USD"]
关于html - 如何在GEB中选择内部元素的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22027890/