如何在executeScript方法中呈现带变量的javascript代码?

时间:2018-05-01 13:45:22

标签: javascript selenium dom selenium-webdriver

我正在使用方法executeScript执行javascript代码来实现selenium脚本。在传递变量时遇到单(')和双引号(“)的问题。

不工作:

js.executeScript("return document.querySelector('input[value=\" '"+group_name+"' \"]').value;").toString();

使用静态值:

js.executeScript("return document.querySelector('input[value=\" DemoTest \"]').value;").toString();

此处('input[value=\" '"+group_name+"' \"]') group_name变量由Java变量引号

涵盖

所以从技术上讲,它的3个行情需要通过  1.在退货声明之前“”  2.在querySelector''上  3.将变量值传递给querySelector“”

请注意:如果DOM已通过内部字符串2和3的不同引号传递,则DOM仅接受。

这里我从DOM获取SyntaxError:它说SyntaxError : missing ) after argument list

那么如何以DOM以所需语法接受变量的方式传递变量。

1 个答案:

答案 0 :(得分:3)

尝试使用以下代码:

class StatusService : IStatusService {

    //TODO: Here I would like to get the version from the gradle 
    //file instead of maintaining 2 places for the version
    //Something like Gradle.getProperties("version") for example
    override fun getVersion() : String = "1.0.0"

}