嗨,我正在嘗試使用 IF 陳述句檢查我的表是否已排序,我正在嘗試使用從 xpath 獲得的值,如下所示。
Check if sorted by alphabet
sleep 3s
${stuurman}= Stuurman
${sorted}= Get Text xpath:/html/body/div[1]/div/div[2]/div/div/div/div[1]/div/div[2]/table/tbody/tr[12]/td[2]
IF ${sorted} == ${stuurman}
Log To Console "Sorted"
ELSE
Log To Console "Not sorted"
END
但我收到以下錯誤:找不到名稱為“Stuurman”的關鍵字。我在這里做錯了什么?
uj5u.com熱心網友回復:
除了 Matthew King 對變數創建的回答之外,您的代碼還有另一個問題:
里面的運算式IF直接傳遞給 python 解釋器,框架用它們的值替換任何變數。所以
${sorted} == ${stuurman}
被評估為
Stuurman == the text from the UI
現在python中的這個其實是“變數Stuurman應該等于變數the text from the UI”,但是沒有這樣的變數,它們還沒有為py定義;因此將引發例外。
有兩種選擇可以使它正確;由于兩者都是字串,您可以用引號將它們括起來,當 RF 用值替換它們時,它將是一個簡單的字串比較:
"${sorted}" == "${stuurman}"
# will be evaluated as:
# "Stuurman" == "the text from the UI"
另一種選擇是使用高級變數語法(我認為這是 RF 用戶指南中的名稱)并且不傳遞值,而是傳遞變數本身。這是通過省略大括號來完成的,只是在 var 前面加上美元符號。
因此不會發生替換,Python 將獲取實際變數并比較它們:
$sorted == $stuurman
uj5u.com熱心網友回復:
當您在關鍵字中設定變數時,您需要使用諸如“設定變數”之類的內容,后跟值。(右側應為關鍵字)
例如
${stuurman}= Set Variable Stuurman
在 *** Variables *** 部分中設定變數時,您可以省略關鍵字,例如
*** Variables ***
${stuurman}= Stuurman
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/363765.html
下一篇:為什么在seleniumpython腳本中獲取selenium.common.exceptions.NoSuchElementException?
