我一直在尝试启动和运行自动化测试,但是一直遇到一些Xpath错误。我遇到5个错误,所有错误均与丢失/无法找到我编写的Xpath有关。我需要进行测试,然后单击位于网页上的数据表中的“刷新”按钮。按钮而不是单击按钮,我得到以下错误。按钮的ID为“ SF-Refresh”。
@When("I click refresh button")
@Given("I click refresh button")
@Then("I click refresh button")
public void clickRefreshButton() {
By linkSelect = new By.ByXPath("//*[@id=\"SF-Refresh\"]");
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
LightningButton.click(linkSelect);
}
错误: 无法找到请求的元素:By.xpath:// * [@@ id =“ SF-Refresh”]
答案 0 :(得分:0)
几乎没有可能出现以下错误:
1)Xpath可能错误或相同的Xpath返回多个元素,仅当您使用findElement
2)元素可能尚未正确加载或尚未准备好用于以下操作:
WebDriverWait wait = new WebDriverWait(driver, 30);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id="SF-Refresh"]")));
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//*[@id="SF-Refresh"]")));
LightningButton.click(linkSelect);