Java 我想更改运行时元素的contains文本-By.xpath(";//a[contains(text(),';ProductName';)]));

Java 我想更改运行时元素的contains文本-By.xpath(";//a[contains(text(),';ProductName';)]));,java,selenium,automation,findelement,Java,Selenium,Automation,Findelement,我在屏幕上有多个产品,每个产品都不同于字符串“ProductName”。而不是将所有产品收集到页面上。我想创建任何动态的或可重用的函数,这样我就可以在函数上传递产品名称,并且它应该能够识别元素 public findElement(String ProductName) { element= By.xpath("//a[contains(text(),'ProductName')]"); } 如果我把产品名传给苹果公司,那么苹果公司应该给我一个定位器 elemen

我在屏幕上有多个产品,每个产品都不同于字符串“ProductName”。而不是将所有产品收集到页面上。我想创建任何动态的或可重用的函数,这样我就可以在函数上传递产品名称,并且它应该能够识别元素

public findElement(String ProductName)
{
     element= By.xpath("//a[contains(text(),'ProductName')]");
}
如果我把产品名传给苹果公司,那么苹果公司应该给我一个定位器

element= By.xpath("//a[contains(text(),'apple')]");

您可以执行以下操作:

public findElement(List<String> products)
{
   for(String product : products){
       String xpath = String.format("//a[contains(text(),'%s')]",product);
       element= By.xpath(xpath);
   }

}
public findElement(列出产品)
{
用于(字符串产品:产品){
String xpath=String.format(“//a[contains(text(),'%s')]”,product);
元素=By.xpath(xpath);
}
}

我的回答解决了您的问题吗?