Python 3.x robot框架中for循环的问题
我是Robot框架的新手,我正在尝试实现一个for循环,我想在其中循环并存储所有a标记的所有文本值 但是我只能得到一个标签的文本 这是我的代码:Python 3.x robot框架中for循环的问题,python-3.x,robotframework,Python 3.x,Robotframework,我是Robot框架的新手,我正在尝试实现一个for循环,我想在其中循环并存储所有a标记的所有文本值 但是我只能得到一个标签的文本 这是我的代码: *** Settings *** Library SeleniumLibrary *** Variables *** ${url} http://www.practiceselenium.com/practice-form.html *** Test Cases *** ExtractLinks alllinks cl
*** Settings ***
Library SeleniumLibrary
*** Variables ***
${url} http://www.practiceselenium.com/practice-form.html
*** Test Cases ***
ExtractLinks
alllinks
close browser
*** Keywords ***
allLinks
open browser ${url}
${allLinksCount} get element count xpath://a
log to console ${allLinksCount}
FOR ${i} IN 1 ${allLinksCount}
${linkText} get text xpath:(//a)[${i}]
log to console ${linkText}
END
这是输出:
==============================================================================
getAllLinks
==============================================================================
ExtractLinks 10
More
ExtractLinks | PASS |
------------------------------------------------------------------------------
getAllLinks | PASS |
1 test, 1 passed, 0 failed
==============================================================================
因此,页面上有10个a标记,但在控制台的输出中只显示一个“More”
是否可以在列表中收集所有链接文本?
用于1${alllinkscont}中的${i}
相当于(1,10)中的${i}的python代码
。换句话说,它将恰好循环两次
如果要在1
和${alllinkscont}
之间的数字范围内迭代,则应在范围内使用
由于xpath计数从1开始,而不是从零开始,因此需要稍微调整数字:
FOR ${i} IN RANGE 1 ${allLinksCount}+1
${linkText} get text xpath:(//a)[${i}]
log to console ${linkText}
END
-或-
1${alllinkscont}
中${i}的相当于(1,10)中i的python代码
。换句话说,它将恰好循环两次
如果要在1
和${alllinkscont}
之间的数字范围内迭代,则应在范围内使用
由于xpath计数从1开始,而不是从零开始,因此需要稍微调整数字:
FOR ${i} IN RANGE 1 ${allLinksCount}+1
${linkText} get text xpath:(//a)[${i}]
log to console ${linkText}
END
-或-
像这样使用for循环${alllinkscont+1}范围内的${i}
谢谢,我忘了写整个范围内的关键字:)我确实尝试在${alllinkscont+1}中使用+1,但是我得到了一个错误“变量定义未找到”,只有${alllinkscont}我得到了8个结果,而不是10个??像这样使用for循环${i} 在范围${AllLinkScont+1}
谢谢,我忘了写整个范围内的关键字:)我确实尝试在${AllLinkScont+1}中使用+1,但是我得到了一个错误“变量定义未找到”,只有${AllLinkScont}我得到了8个结果,而不是10??