我们可以解析放在map文件中的xpath中的两个不同的参数,并在函数中调用它来使用java来识别元素吗?
的xpath:
//table[@id='TemplateCreator']//td[contains(@id,'Template.1.2')]
在上面的xpath 1.2中是row.column值。因此,当我继续时,我想将行和列作为参数传递。我在我的代码中使用硬编码的xpath,如下所示:
int row = 1;
int column = 2;
driver.findelement(By.Xpath("//table[@id='TemplateCreator']//td[contains(@id,'Template."+row+"."+column+"')]");
但是,我想从Map文件中调用这个xpath并传递row&列值作为参数。这样的东西,但可以使用Java吗?
string template = //table[@id='TemplateCreator']//td[contains(@id,'Template.<identifier_row>.<identifier_column>')]
driver.findelement(By.Xpath(template+row+column);
答案 0 :(得分:0)
尝试如下:
String template = "//table[@id='TemplateCreator']//td[contains(@id,'Template.%d.%d')]"; //read template from Map file
int row=1;
int column=1;
String after = String.format(template, row, column);
System.out.println("after replacing: " + after);
在Map文件中,按如下方式存储模板:
//table[@id='TemplateCreator']//td[contains(@id,'Template.%d.%d')]
所以,稍后您可以使用String.format
格式化字符串。