【问题标题】:How to click an element using javascript in selenium robot framework script?如何在 selenium 机器人框架脚本中使用 javascript 单击元素?
【发布时间】:2023-04-02 14:54:01
【问题描述】:

我正在尝试使用 javascript 单击一个元素(这是用于 selenium 机器人框架脚本)。但它抛出一个错误

unknown error: Runtime.evaluate threw exception: SyntaxError: missing ) after argument list)

你能帮我纠正我的说法吗?

执行 Javascript -->>

document.evaluate('\\span[text()='Participant']', document, null, FIRST_ORDERED_NODE_TYPE, null).click()

正如您在上面的语句中看到的,我希望 javascript 单击具有“参与者”文本的元素(xpath 没有任何 id 或除文本之外的任何其他属性)。如果我在代码/语句中有任何错误,请您帮我编写正确的代码/语句。

【问题讨论】:

    标签: javascript selenium xpath


    【解决方案1】:

    你的javaScript有很多错误:-

    • xPath/ 开头,表示从根节点选择//,表示从当前节点选择文档中与选择匹配的节点无论他们在哪里

    • 如果您将'' 用于整个xpath 作为字符串,则将"" 用于xpath 表达式中的其他字符串,或者将"" 用于整个xpath 作为字符串,然后使用@987654333 @ 用于xpath 表达式中的其他字符串

    • 阅读Document.evaluate()语法如何在javascript中使用。

    因此,在所有这些点之后,您应该尝试使用正确的javascript 如下:-

    document.evaluate("//span[text()='Participant']", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null).snapshotItem(0).click();
    

    希望对你有帮助..:)

    【讨论】:

    • 感谢您更新代码。我尝试使用您更改的代码执行脚本,但出现以下错误。未知错误:Runtime.evaluate 抛出异常:SyntaxError: missing ) 在 Object.injectedScript._evaluateOn(:875:140) 的 Object.injectedScript._evaluateAndWrap(:808:34) 的 Object.injectedScript 的参数列表之后.evaluate (:664:21)
    • @Yogi 你能分享一下如何使用 selenium 调用这个 javascript 吗??
    • @Yogi 这个错误是由于""...你应该尝试在你的方法中使用 JavaScript 作为document.evaluate(\"//span[text()='Participant']\", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null).snapshotItem(0).click();
    • 我想让您知道您的代码在浏览器控制台中工作。但它不是通过 selenium 机器人框架执行的。非常感谢您的帮助和时间。这真的是一个很大的帮助。
    • @Yogi 欢迎您.. 很高兴为您提供帮助..:). 但是为什么它不通过 selenium 机器人框架执行?你能分享一下如何使用 selenium 机器人框架调用这个 javascript 吗??
    猜你喜欢
    • 2018-06-19
    • 2018-09-20
    • 2019-12-03
    • 2018-11-10
    • 2020-05-23
    • 1970-01-01
    • 1970-01-01
    • 2021-03-19
    • 1970-01-01
    相关资源
    最近更新 更多