【问题标题】:Invalid Syntax when trying to For Loop in Robot Framework尝试在机器人框架中进行 For 循环时语法无效
【发布时间】:2019-10-19 18:13:13
【问题描述】:

我尝试在输入文本时循环文本,但运行时出现错误

  *** Settings ***
 Library  Selenium2Library          

  *** Variables ***       

${URL}  https://www.ebay.com           
${Browser}  Chrome   
${Searching}  xpath=//input[@id='gh-ac']    
${Name}  book


 *** Test Cases ***    

Test case Register Positive    
  Open Browser    ${URL}  ${Browser}    
  Input Text  ${Searching}  ${Name}    
  FOR  ${Index}  IN   0   100        
  #LOG TO CONSOLE    ${i}    
    Run Keyword If  ${Searching}  ==  'CONTINUE'   Continue For Loop    
  END

错误提示评估表达式 'xpath=//input[@id='gh-ac']' 失败: SyntaxError: 无效语法(第 1 行)

请帮忙

【问题讨论】:

  • 尝试:xpath=//*input[@id='gh-ac']
  • @Krzy:不,这不是问题。

标签: python selenium loops robotframework


【解决方案1】:

当机器人将您的语句翻译成 python 代码以评估表达式时,python 解释器看起来就像这样

if xpath=//input[@id='gh-ac']:

这是无效的python语法,所以你得到了错误。

如果您想在条件语句中使用该变量,最好的解决方案是使用省略大括号的特殊语法。当你这样做时,变量会按原样使用,而不是在传递给 python 之前转换为字符串。

您还需要在== 的每一侧有不超过一个空格:

Run Keyword If  $Searching == 'CONTINUE'   Continue For Loop 

有关此语法的更多信息,请参阅内置库文档中的 Evaluating Expressions

【讨论】:

    猜你喜欢
    • 2020-12-29
    • 2016-03-15
    • 2020-02-19
    • 2016-11-18
    • 2017-04-20
    • 2017-07-02
    • 2021-07-17
    • 2018-07-28
    • 2018-08-09
    相关资源
    最近更新 更多