java - 我需要找到一个包含特定文本的元素。如何使文本成为变量并将其传递给 xpath 函数?
问题描述
```
if(title.equalsIgnoreCase("Mr"))
{
driv.mr.click();
}
else if(title.equalsIgnoreCase("Mrs"))
{
driv.mrs.click();
}
else
{
driv.miss.click();
}
```
#object.java#
@FindBy(how = How.XPATH, using = "//label[text()='Mr']" )
public WebElement mr;
@FindBy(how = How.XPATH, using = "//label[text()='Mrs']" )
public WebElement mrs;
@FindBy(how = How.XPATH, using = "//label[text()='Miss']" )
public WebElement miss;
在这里,我需要传递单个 XPath,而不是传递 3 条路径。有没有办法做到这一点???
解决方案
您可以创建此类方法,并传递参数文本以单击所需的元素
public void clickOnButton(String text){
WebElement button = driver.findElement(By.xpath("//label[text() = '"+text+"']"));
button.click();
}