【发布时间】:2021-07-17 10:20:42
【问题描述】:
我是 Robot Framework 的新手,我正在尝试实现一个 for 循环,我想在其中循环并存储所有标签的所有文本值。
但我只能获取一个标签的文本。
这是我的代码:
*** 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标签,但只有一个显示,“更多”在控制台的输出中。
是否可以将所有链接文本都收集到列表中?
【问题讨论】:
-
像这样使用你的 for 循环
FOR ${i} IN RANGE ${allLinksCount+1} -
谢谢,我忘了写整个 IN RANGE 关键字 :) 我确实尝试在 ${allLinksCount+1} 中使用 +1,但随后出现错误“未找到变量定义”只是 ${allLinksCount} 我得到 8 个结果而不是 10 个??