如何检索元素的文本以及 <br> 作为文本而不是新行
How to retrieve the Text of an element along with <br> as text not as a new Line
在上图中,我们可以看到文本中有一个<\br>
。现在在 assert 语句中,我必须根据选项 I select 验证它,它有一个 'whitespace' 但没有 <\br>
, returns 它后面的文本到一个新行。
所以我想在这里做的是我想检索 <div>
的值,包括 <\br>
作为 'text' 这样我就可以检索整个文本并替换<\br>
和 'space' 然后根据预期的文本进行验证。
我试过了-<br>
getAttribute("textContent")
:
driver.findElement(By.xpath(//div[contains(@class,'v-label')])).getAttribute("textContent");
检索没有 <\br>
的文本,如 - CIABC-Idq BLA HLA N1 Dd/Coind(BLen AccBLA HLA)
getAttribute("innerText")
:
driver.findElement(By.xpath(//div[contains(@class,'v-label')])).getAttribute("innerText");
它通过返回新行来检索文本,例如 -
CIABC-Idq BLA HLA N1 Dd/Coind
(BLen AccBLA HLA)
预期:
- 我要么需要检索
CIABC-Idq BLA HLA N1 Dd/Coind
和 (BLen AccBLA HLA)
之间带有 space 的文本
或
- 全文连同
CIABC-Idq BLA HLA N1 Dd/Coind
和 (BLen AccBLA HLA)
之间的 <\br>
所以我可以用白色 space 替换字符 <\br>
然后断言具有预期值的字符串。
HTML 代码片段:
<div class="v-slot">
<div class="v-label v-widget v-label-undef-w">
CIABC-Idq BLA HLA N1 Dd/Coind
<br>
(BLen AccBLA HLA)
</div>
</div>
有人可以帮忙吗?
textContent
将评估控制字符,innerText
将评估 <br>
标签,因此仅返回文本。 (参见 difference between textContent vs innerText)
相反,您可以获得 innerHTML 属性:
driver.findElement(By.xpath(//div[contains(@class,'v-label')])).getAttribute("innerHTML");
The Element property innerHTML gets or sets the HTML or XML markup contained within the element.
innerHTML
将保留标记。
在上图中,我们可以看到文本中有一个<\br>
。现在在 assert 语句中,我必须根据选项 I select 验证它,它有一个 'whitespace' 但没有 <\br>
, returns 它后面的文本到一个新行。
所以我想在这里做的是我想检索 <div>
的值,包括 <\br>
作为 'text' 这样我就可以检索整个文本并替换<\br>
和 'space' 然后根据预期的文本进行验证。
我试过了-<br>
getAttribute("textContent")
:
driver.findElement(By.xpath(//div[contains(@class,'v-label')])).getAttribute("textContent");
检索没有 <\br>
的文本,如 - CIABC-Idq BLA HLA N1 Dd/Coind(BLen AccBLA HLA)
getAttribute("innerText")
:
driver.findElement(By.xpath(//div[contains(@class,'v-label')])).getAttribute("innerText");
它通过返回新行来检索文本,例如 -
CIABC-Idq BLA HLA N1 Dd/Coind
(BLen AccBLA HLA)
预期:
- 我要么需要检索
CIABC-Idq BLA HLA N1 Dd/Coind
和(BLen AccBLA HLA)
之间带有 space 的文本
或
- 全文连同
CIABC-Idq BLA HLA N1 Dd/Coind
和(BLen AccBLA HLA)
之间的<\br>
所以我可以用白色 space 替换字符<\br>
然后断言具有预期值的字符串。
HTML 代码片段:
<div class="v-slot">
<div class="v-label v-widget v-label-undef-w">
CIABC-Idq BLA HLA N1 Dd/Coind
<br>
(BLen AccBLA HLA)
</div>
</div>
有人可以帮忙吗?
textContent
将评估控制字符,innerText
将评估 <br>
标签,因此仅返回文本。 (参见 difference between textContent vs innerText)
相反,您可以获得 innerHTML 属性:
driver.findElement(By.xpath(//div[contains(@class,'v-label')])).getAttribute("innerHTML");
The Element property innerHTML gets or sets the HTML or XML markup contained within the element.
innerHTML
将保留标记。