在上图中,我们可以看到文本中有一个<\br>
。现在,在assert语句中,我必须针对我选择的选项进行验证,该选项具有“空白”,但没有<\br>
,该选项将文本后的文本返回到新行。
所以我在这里想要做的是要检索包含<div>
的{{1}}的值作为'text',以便我可以检索整个文本并替换{{1} }加上“空格”,然后根据预期文字进行验证。
我尝试过-<\br>
<\br>
:<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)
之间的<\br>
,因此我可以将字符CIABC-Idq BLA HLA N1 Dd/Coind
替换为空格,然后使用期望值声明字符串。 / li>
HTML代码片段:
(BLen AccBLA HLA)
有人可以帮忙吗?
答案 0 :(得分:2)
textContent
将评估控制字符,而innerText
将评估<br>
标签,因此仅返回文本。 (请参阅difference between textContent vs innerText)
相反,您可以获取innerHTML属性:
driver.findElement(By.xpath(//div[contains(@class,'v-label')])).getAttribute("innerHTML");
Element属性innerHTML获取或设置元素中包含的HTML或XML标记。
innerHTML
将保留标记。