【发布时间】:2017-05-02 01:19:12
【问题描述】:
我想检查某个收件箱中的所有项目并一一打开它们,直到没有更多项目(将对每个项目进行一些处理,因此它们在访问后消失)。这些项目是基于工作流的,所以当它打开时,它们将被处理并从收件箱中消失。
如何让机器人列出这些物品并一一打开?这是完成此类任务的正确方法吗?我在 eclipse w python 中使用机器人框架
我有以下代码,它获取所有链接并将它们放在一个列表中,但我不知道最好的方法是一个一个地打开它们(每次打开链接并且某些 X 进程有后返回收件箱已完成)。
Wait Until Element is Visible xpath=//a/span
# Count number of links on page
${AllLinksCount}= Get Matching Xpath Count xpath=//a/span
# Log the count of links
Log ${AllLinksCount}
# Create a list to store the link texts
@{LinkItems} Create List
# Loop through all links and store links value that has length more than 1 character
: FOR ${INDEX} IN RANGE 1 ${AllLinksCount}
\ Log ${INDEX}
\ ${lintext}= Get Text xpath=(//a/span)[${INDEX}]
\ Log ${lintext}
\ ${linklength} Get Length ${lintext}
\ Run Keyword If ${linklength}>1 Append To List ${LinkItems} ${lintext}
${LinkSize}= Get Length ${LinkItems}
Log ${LinkSize}
Comment Print all links
: FOR ${ELEMENT} IN @{LinkItems}
\ Log ${ELEMENT}
【问题讨论】:
-
您已经尝试过什么?遇到什么障碍?
-
@Andersson 我放了一些我现在正在使用的代码来将链接放入列表中。但我不知道一个一个打开它们的好方法是什么(打开链接时会打开一个页面,我在其中进行一些处理并关闭它以再次返回收件箱)
-
你的方法看起来不错。 (对我来说,完成工作的任何方法都是好的。以后可以改进。)所以如果你有一个链接列表并且你打开它们并且它们从主页上消失,并且如果剩余的链接 ID/索引保持不变,没有问题。您还可以使用
Get Web Elements关键字进行探索。
标签: python selenium robotframework