2016-12-16 9 views
0

私はいくつかの受信トレイのすべてのアイテムをチェックし、それがなくなるまで1つずつ開いてみたい(アイテムごとに処理を行うので、 )。アイテムはワークフローベースなので、開いたときに処理され、受信トレイから消えます。すべてのリンクを取得し、リストを繰り返し処理する(ロボットフレームワーク)

どのようにロボットがこれらのアイテムのリストを作成し、それらを1つずつ開くことができますか?そのようなタスクのためのこれは正しいアプローチですか?私は、//スパン/キャッチ受信トレイ内のすべての関連リンク(10)enter image description here

は、私はすべてのリンクを取得し、リストにそれらを置く、次のコードを持っているのpython

wの日食でrobotframeworkを使用していますしかし、私は最善のアプローチは、リンクを開いていくつかのXプロセスが完了した後に受信トレイに毎回返す(リンクを1つずつ開く)ことを知っていません。

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} 
+0

あなたはすでに試したことがありますか?遭遇した障害はありますか? – Andersson

+0

@Andersson私はリストにリンクを取得するために私が今使っているコードをいくつか入れました。 (リンクが開かれたときに処理が行われ、受信トレイに戻るために閉じてしまう) – DMC

+1

あなたのアプローチは良く見えます。あなたがリンクのリストを持っていて、それらを開いてメインページから消えてしまい、残りのリンクID /インデックスが変わらないならば、 問題はない。 'Get Web Elements'キーワードを使って探索することもできます。 – Helio

答えて

1

あなたがいたページに戻る場合は、リンクをクリックする前に場所を取得してから、処理後にそのURLに戻ることができます。このためのリンクテストリストを作成する必要はありません。あなたはもうrun keyword ifキーワードを必要としないようにして、XPathのために、それ//a/span[string-length(text())>1]ます

Wait Until Element is Visible 
xpath=//a/span[string-length(text())>1] 
${AllLinksCount}= Get Matching Xpath Count xpath=//a/span[string-length(text())>1] 
Log ${AllLinksCount} 
: FOR ${INDEX} IN RANGE 1 ${AllLinksCount} 
\ Log ${INDEX} 
\ ${currUrl} get location 
\ click element xpath=(//a/span[string-length(text())>1])[1] 
\ do processing here 
\ go to ${currUrl} 

URLが変更され、その後、あなたがちょうどあなたが前にしたただし経由で再びそのページに行かなければならない場合。

+1

クリックしたものが削除されたと言ったので、あなたはいつもそのxpathを持つ要素の最初のインスタンスをクリックします。 – becixb

+0

私はあなたのアプローチを試して、 – DMC

関連する問題