【发布时间】:2016-09-07 08:59:19
【问题描述】:
我有一些 web 元素的 ID 属性具有相同的前缀。我可以使用get webelements 一次性获取这些元素;我想用一个命令提取他们的文本属性。我写了这一行:
${elList} = get webelements xpath=//*[starts-with(@id, '${formName}:${row}')]
${rowList} = evaluate [item.get_attribute('text') for item in ${elList}] selenium
返回:
Evaluating expression '[item.get_attribute('text') for item in [<selenium.webdriver.remote.webelement.WebElement object at 0x7f7b6c5f09d0>, <selenium.webdriver.remote.webelement.WebElement object at 0x7f7b6c5f0990>]]' failed: SyntaxError: invalid syntax (<string>, line 1)
我无法理解这里的问题;顺便说一句,对于我的问题,我会感谢任何其他解决方案。
EDIT1:我也试过下面的代码:
${elList} = get webelements xpath=//*[starts-with(@id, '${formName}:${row}')]
:FOR ${item} IN @{elList}
\ log to console ${item.get_attribute('text')}
但控制台只显示None; ${item.get_attribute('value')} 也一样。
【问题讨论】:
-
你很接近。尝试:${rowList} = 评估 [$elList 中项目的 item.text]。有关说明,请参阅 robotframework.org/robotframework/latest/libraries/… 和 seleniumhq.github.io/selenium/docs/api/py/webdriver_remote/…
标签: selenium-webdriver robotframework selenium2library