如何为字符 A 到 Z 提供循环,之后在 XPath 中传递,可能是我们不需要多次写入 XPath



有没有针对XPath的解决方案?
我想从字符"A"遍历到"Z",但问题是哪个是 XPath...

所以我认为我们通过循环解决这个问题,但我不知道如何为此提供 s 循环......对于代码优化,我们不需要多次编写 XPath。

我已经循环尝试过,但它不起作用。

WebElement A = driver.findElement(By.xpath("//a[text()='**A**']"));
act.click(A).perform();
char c = 'A';
for (c='A';c<='Z';c++)
{
     String s = Character.toString(c);          
}

使用字符串格式化程序 - 定义一个具有字符串固定结构和格式说明符的"模板"。
假设您要替换"**A**"文本中的"A"

String templ = "//a[text()='**%s**']";
for (char c='A'; c<='Z'; c++){
     WebElement A = driver.findElement(By.xpath(String.format(templ, c)));
     /* if you want to see the constructed string/locator:
     System.out.println(String.format(templ, c)); */
     act.click(A).perform();
}

让 xpath 选择器动态化,这是示例逻辑,稍后可以改进,试试这个:

String[] letters = {"A","B","C"....};
Actions action = new Actions(driver);
for (int i=0; i<letters.length(); i++)
{
    WebElement element = driver.findElement(By.xpath("//a[text()="**" + letters[i] + "**"]"));
    action.moveToElement(element).click().perform();
}

最新更新