拥有包含以下内容的div。
有谁可以请教我怎么能找到例如。 <dd>ID</dd>
<dt>jankovalsky</dt>
并在其上执行.getText?
<dl id="userDetails" class="dl-horizontal">
<dt>Forename</dt>
<dd></dd>
<dt>Surname</dt>
<dd></dd>
<dt>ID</dt>
<dd>jankovalsky</dd>
<dt>Preferred Language</dt>
<dd></dd>
<dt>Position</dt>
<dd></dd>
<dt>Accounts in domains</dt>
<dd>
<ul>
<li>something</li>
</ul>
</dd>
<dt>Business roles</dt>
<dd>
<ul>
</ul>
</dd>
<dt>email</dt>
<dd></dd>
<dt>Status</dt>
<dd></dd>
</dl>
至于<dt></dt>
使用@FindBy(xpath = "//*[@id=\"userDetails\"]/dt[3]")
之类的xpath进行了识别,但需要更通用的方式来识别<dt>ID</dt>
订单的某些更改(因为它足够了下一个构建它将作为第一个构建,并且断言将失败)。
不知道如何处理这个<dd>jankovalsky</dd>
答案 0 :(得分:3)
您需要following-sibling
:
driver.findElement(By.xpath("//dl[@id='userDetails']/dt[. = 'ID']/following-sibling::dd")).getText();