我的应用程序中包含以下html元素。
<td height="25">
<i>text1</i>
text2
</td>
我的目标是获取测试脚本的td元素。为此,我使用以下元素的getText方法在td标签中获取了文本。
xpath = "//td/i[contains(text(),'text1')]/parent::td"
该方法返回了以下文本(带有开始的空格)
text1 text2
所以我将文本复制到下面的xpath中以获得td元素。
xpath = "//td[contains(text(),'text1 text2')]"
但是我得到上述元素的NosuchElement异常。这怎么可能?
注意:我不能在脚本中使用第一个xpath,因为有几个这样的td元素带有共同的i标签文本(文本1),但是具有不同的td标签文本(文本2,text3 ...)
答案 0 :(得分:0)
硒捕获Contracts
,其中包含元素和所有子元素文本。在这种情况下,WebElement
元素文本是<td>
,
和text1
的组合,因此,当您使用第一个表达式获取文本时,将得到{{1} }。但是,由于text2
代表text1 text2
元素,因此DOM中没有文本text1 text2
的元素。试试
text1