首页 > 解决方案 > 我需要找到一个包含特定文本的元素。如何使文本成为变量并将其传递给 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 条路径。有没有办法做到这一点???

标签: javaseleniumxpath

解决方案


您可以创建此类方法,并传递参数文本以单击所需的元素

public void clickOnButton(String text){
       WebElement button = driver.findElement(By.xpath("//label[text() = '"+text+"']")); 
       button.click();
      }

推荐阅读