javascript - 如何在 executeScript 方法中显示带有变量的 javascript 代码?

标签 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. return语句前""
2. 在querySelector ''
3. 将变量值传递给querySelector ""

请注意:DOM 仅在通过具有内部字符串 2 和 3 的不同引号传递时才接受。

这里我从 DOM 得到 SyntaxError:它说 SyntaxError : missing ) after argument list

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

最佳答案

尝试使用下面的代码:

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

关于javascript - 如何在 executeScript 方法中显示带有变量的 javascript 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50117628/

相关文章:

javascript - 在不发送 HTTP 请求的情况下使用 documentFragment 解析 HTML

JavaScript Node.js 网页抓取 : How do I find specific elements on webpage table to scrape and push into an array of objects?

java - Submit() 重定向到另一个页面,而 click() 不允许我访问内页

javascript - 如何在单击按钮时使图像旋转

javascript - TypeScript:一个接口(interface)属性需要另一个属性为真

javascript - 如何在 PHONEGAP 上获取设备 uuid

javascript - Selenium 使用 Xpath 读取隐藏 Web 元素的文本

ios - 在用于移动网络的 iOS 设备上与 Appium 1.4.13 一起使用时,实习生测试框架挂起/不执行任何操作

javascript - 动态添加和删除元素样式的最佳方法

javascript - 调用JS类中的方法返回 "...is not a function"