从包含多个文本Robot Framework的表格单元格中提取单个文本

我有一个表,其中一些单元格有多个文本,每个文本都有自己的xpath。 例如,下面代码中的两个文本元素位于同一个表格单元格中,但有两个xpath:对于第一个“B17AA038”,xpath是// [@ id =“profile_research”] / tbody / tr [1] / td [10] / text()和下一个实例有另一个xpath(// [@ id =“profile_research”] / tbody / tr [1] / td [10] / div [2] / text())。 在表格中,我有一些单元格,其中包含许多单独的文本元素。 我试图从单元格中选择一个特定的文本元素并将其用作变量,但到目前为止失败了。

作为一个例子,我试过这个:

Run keyword if '${Row_No}'=='1' get text xpath=//*[@id="profile_research"]/tbody/tr[${Table_Row}]/td[10]/text() 

并收到此错误消息:

 InvalidSelectorException: Message: invalid selector: The result of the xpath expression "//*[@id="profile_research"]/tbody/tr[2]/td[10]/text()" is: [object Text]. It should be an element. 

相关的html如下:

    **B17AA03**8 2      
**B17AA038**

任何建议将不胜感激。 谢谢

正如错误所暗示的那样, get text关键字需要一个导致元素的定位器,而不是元素的文本。 实质上,您要求selenium获取元素文本的文本。

解决方案是从定位器中删除text()

 xpath=//*[@id="profile_research"]/tbody/tr[${Table_Row}]/td[10]