${get_t}= Get Text //h6[@class='MuiTypography-root MuiTypography-subtitle2']
Log ${get_t}
${get_t1}= Get Element Count xpath://h6[@class='MuiTypography-root MuiTypography-subtitle2']
Log ${get_t1}
${get_t3}= Get WebElements xpath://h6[@class='MuiTypography-root MuiTypography-subtitle2']
Log ${get_t3}
当我得到Count时,它会显示计数,但是当我使用Get WebElements打印它时,它不会打印文本。如果我输入Get Text,则仅打印第一个文本。
您要实现什么-获取/打印每个元素的文本?因为Get Webelements
确实如其名称所说-向您返回匹配元素的列表- selenium 元素对象。这样,如果您想打印每个文本,只需遍历列表并调用Get Text
每个成员即可:
FOR ${el} IN @{get_t3}
${txt}= Get Text ${el}
Log ${txt}
END
首先谢谢。我想获取xpath的所有元素并打印出来。使用您的代码,我尝试执行此操作,并且使用“ @ {get_t3}”这是xpath仪式?。当我尝试它时,它仍然打印第一个值:FOR $ {el} IN xpath:// h6 [@ class ='MuiTypography-root MuiTypography-subtitle2'] \ $ {txt} =获取文本$ {el} \日志$ {文本}
实际上
@{get_t3}
,不是列表对象,而不是xpath。这是此调用的结果-${get_t3}= Get WebElements xpath://h6[@class='MuiTypography...
,并且循环遍历其每个元素-例如,每个循环使用不同的元素,直到遍历所有元素。您在评论中所做的事情是遍历单个字符串-因此从页面仅获取单个文本。我们需要在迭代和打印时从Web元素转换为字符串吗?
Web元素就是这样-对页面DOM中的对象的硒引用。换句话说,它是一个指向元件-一个
div
,a
或另一个。您可以使用它进行各种操作-单击,更改或获取属性-如其文本。因此,有了该Web元素,调用Get Text
将返回包含的文本。