Python 2.7 在Robot框架中将项添加到列表变量
我有这段代码,我试图通过类似的XPath循环获取它们的文本,并使用robot farmwork将文本值添加到列表中Python 2.7 在Robot框架中将项添加到列表变量,python-2.7,selenium,robotframework,selenium2library,Python 2.7,Selenium,Robotframework,Selenium2library,我有这段代码,我试图通过类似的XPath循环获取它们的文本,并使用robot farmwork将文本值添加到列表中 : FOR ${i} IN RANGE 2 ${count}+1 \ sleep 10s \ ${j} Get Text //*[@id="stats"]/div/div/div[2]/div/div/div/div[${i}]/div[1] \ Append To List @{dbws_datapoints} ${j} \
: FOR ${i} IN RANGE 2 ${count}+1
\ sleep 10s
\ ${j} Get Text //*[@id="stats"]/div/div/div[2]/div/div/div/div[${i}]/div[1]
\ Append To List @{dbws_datapoints} ${j}
\ log @{dbws_datapoints}[${j}]
代码执行时没有错误,但它没有打印列表,而是将结果记录在日志文件中,如下所示
对于范围为[2 |${count}+1]的${i}
我附上截图以及。
将列表作为对象引用时,请帮助使用
$
Append To List ${dbws_datapoints} ${j}
...
log ${dbws_datapoints}[${j}]
有关更多信息,请参阅《robot用户指南》。将列表作为对象引用时,请使用
$
Append To List ${dbws_datapoints} ${j}
...
log ${dbws_datapoints}[${j}]
有关更多信息,请参阅《robot用户指南》。尽管您链接到的图像提供了上下文,但最好在问题中添加文本版本。此外,预计它将提供一个最小的示例,该示例不依赖于未提供的项目。xpath和Get Text关键字是这里的示例 正如@Bryan Oakley已经提到的,您的问题的核心似乎是
@{}
,应该是${}
。此外,还需要更新变量引用,因为它应该位于花括号内示例:${var[2]}
。在您的示例中,您从2开始循环。使用列表时会出现问题,因为添加到新列表的项目总是以0开头。由于这个原因,增加了一行来计算列表中的项目
下面的示例代码工作在日志文件中提供了所需的条目
*** Settings ***
Library String
Library Collections
*** Variables ***
${count} 5
@{dbws_datapoints}
*** Test Cases ***
FOR LOOP
: FOR ${i} IN RANGE 0 ${count}
\ ${j} Get Text ${i}
\ ${listCount} Get Length ${dbws_datapoints}
\
\ Run Keyword If (${i}>2) Append To List ${dbws_datapoints} ${j}
\ Run Keyword If (${i}>2) Log To Console ${dbws_datapoints[${listCount}]}
*** Keywords ***
Get Text
[Arguments] ${i}
${list} Create List aaa bbb ccc ddd eee
[Return] ${list[${i}]}
虽然链接到的图像提供了上下文,但在问题中加入文本版本总是好的。此外,预计它将提供一个最小的示例,该示例不依赖于未提供的项目。xpath和Get Text关键字是这里的示例 正如@Bryan Oakley已经提到的,您的问题的核心似乎是
@{}
,应该是${}
。此外,还需要更新变量引用,因为它应该位于花括号内示例:${var[2]}
。在您的示例中,您从2开始循环。使用列表时会出现问题,因为添加到新列表的项目总是以0开头。由于这个原因,增加了一行来计算列表中的项目
下面的示例代码工作在日志文件中提供了所需的条目
*** Settings ***
Library String
Library Collections
*** Variables ***
${count} 5
@{dbws_datapoints}
*** Test Cases ***
FOR LOOP
: FOR ${i} IN RANGE 0 ${count}
\ ${j} Get Text ${i}
\ ${listCount} Get Length ${dbws_datapoints}
\
\ Run Keyword If (${i}>2) Append To List ${dbws_datapoints} ${j}
\ Run Keyword If (${i}>2) Log To Console ${dbws_datapoints[${listCount}]}
*** Keywords ***
Get Text
[Arguments] ${i}
${list} Create List aaa bbb ccc ddd eee
[Return] ${list[${i}]}
我试过了,但它仍然没有记录列表,而是显示范围为[2${count}+1]的${I},如上面问题中所附的屏幕截图(resuf文件图像)所示。我试过了,但它仍然没有记录列表,而是显示范围为[2${count}+1]的${I},如所附的屏幕截图(resuf文件图像)所示在我上面的问题中,非常感谢。。这两个建议都很有帮助。非常感谢。。这两个建议都很有帮助。