我正在使用Javascript和Protractor进行测试,但在格式化字符串时出现问题,这是我的代码:
this.roseGold = function (metal) {
element(by.xpath('//*[@class="rose"][contains(text(),"14K Rose Gold")]')).click()
如何传递参数metal
而不是"14K Rose Gold"
在python中,我会这样做:
this.roseGold = function (metal) {
element(by.xpath('//*[@class="rose"][contains(text(),"%s")]' %metal)).click()
如何用Javascript获得结果?
答案 0 :(得分:1)
您应该可以像这样将xpath字符串连接在一起:
this.roseGold = function (metal) {
element(by.xpath('//*[@class="rose"][contains(text(),"'+metal+'")]')).click();
// or use util.format(), util is a build-in module of Nodejs
var util = require('util');
this.roseGold = function (metal) {
element(by.xpath(
util.format('//*[@class="rose"][contains(text(),"%s")]', metal)).click();
也就是说,量角器样式指南建议不要使用xpath。
考虑element(by.cssContainingText('.rose', metal)).click();