DOM中两个不同元素的Xpath OR条件

时间:2018-10-11 04:16:43

标签: java selenium xpath jbehave

我有一个使用maven build的selenium jbehave项目。在步骤类中,我想为两种类型的DOM元素添加OR条件。对于同一个元素,我知道该怎么做。如何为不同的元素呢? / p>

@Then("I click $Search Button")
public void clickSearchGoogleButton(String search) {
    driver.findElement(By.xpath("//input[@aria-label='"+search+"']")).click();
}

在上面的代码中,我想要做的是我有一个带有“ aria-label”的按钮元素 所以我想用or条件将其添加到相同的xpath条件中。我在下面尝试过,但给出了错误。

@Then("I click $Search Button")
public void clickSearchGoogleButton(String search) {
    driver.findElement(By.xpath("//input[@aria-label='"+search+"'] or //button[@aria-label='"+search+"']")).click();
}

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:2)

您可以使用|代替or

By.xpath("//input[@aria-label='"+search+"'] | //button[@aria-label='"+search+"']")