【问题标题】:Robot Framework Execute Javascript Execution ErrorRobot Framework Execute Javascript 执行错误
【发布时间】:2020-12-09 08:58:20
【问题描述】:

知道为什么我在尝试执行机器人测试用例时不断收到以下错误吗?

JavascriptException: Message: SyntaxError: missing ) after argument 列表

当我尝试执行以下关键字时

     Execute Javascript  document.getElementByXpath('//button[contains(.,'Help')]').onclick();

【问题讨论】:

  • 单引号内的单引号并没有像您认为的那样做。
  • 因为你没有在它周围加上引号,并且 JS 解释器试图将它作为一个表达式来计算。用引号括起来,或者更好的是,使用 jQuery 的 .click 方法设置一个点击监听器。

标签: javascript selenium xpath robotframework


【解决方案1】:

getElementByXpath() 的参数和 xpath 的 contains() 函数都使用了单引号;这意外地关闭了 js 函数的调用。换一个使用双引号:

document.getElementByXpath("//button[contains(.,'Help')]").onclick()

【讨论】:

    【解决方案2】:

    此错误消息...

    JavascriptException: Message: SyntaxError: missing ) after argument list
    

    ...暗示表达式中存在语法错误。

    您需要将外部单引号(即'...')替换为双引号,即"...",如下所示:

    Execute Javascript  document.getElementByXpath("//button[contains(.,'Help')]").onclick();
    

    您也可以使用document.evaluate(),如下所示:

    Execute JavaScript document.evaluate('//button[contains(.,"Help")]',document.body,null,9,null).singleNodeValue.click();
    

    结尾

    Clicking Element with JavaScript on Robot Framework

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-16
      • 2019-05-15
      • 2016-12-16
      • 2013-01-31
      • 1970-01-01
      • 2020-11-23
      • 2022-11-30
      • 1970-01-01
      相关资源
      最近更新 更多