如何为参数化变量

时间:2018-11-22 08:32:22

标签: selenium selenium-webdriver xpath xpath-2.0 domxpath

我必须为以下xml片段编写一个xpath:

<div class="flex-item flex-container-horizontal flex-align-center sf-element sf-element-page-tab sfpc-even" title="S1M0D barchart" tabindex="1">
<span class="sf-element sf-element-text-box sfpc-first sfpc-last sfpc-odd">S1M0D barchart</span>
</div>

在xpath中,我必须添加一个变量tabName,它将替换xpath中的标题:

tabName = S1M0D barchart
//span[contains(text(),"tabName"]
which is nothing but //span[contains(text(),"S1M0D barchart")]

我不确定如何编写xpath,因为双引号(“)将变量tabName视为字符串,并且在执行期间不会被替换。

2 个答案:

答案 0 :(得分:0)

您可以使用String.format,需要将变量用单引号引起来

String tabName = "S1M0D barchart";
String.format("//span[contains(text(),'%s')]", tabName);

答案 1 :(得分:0)

感谢大家的宝贵时间。我想出了这篇文章的答案。 我们可以将xpath编写为“ // span [contains(text(),\“” + tabName +“ \”)]“

相关问题