Selenium WebDriver - 没有这样的元素:无法定位元素

时间:2015-12-27 17:07:26

标签: html selenium selenium-webdriver

我在点击按钮时出现问题。它的按钮是CSS。

<div id="rightBtn">
<input type="submit" class="mainButton" id="dodajTrenera" value="Dodaj" name="dodaj_trenera">
</div>

我想执行点击操作,我使用此代码:

WebElement addTrainer = driver.findElement(By.name("dodaj_trenera"));
    addTrainer.click();

我收到错误:

org.openqa.selenium.NoSuchElementException: no such element: Unable to     locate element: {"method":"name","selector":"dodaj_trenera"}

为什么我收到此错误?它应该工作完美。 此按钮位于Web的底部。也许我应该向下滚动页面?

2 个答案:

答案 0 :(得分:0)

最常见的错误是同步问题:在点击之前尝试等待元素存在并可点击,如下所示:

WebElement addTrainer = (new WebDriverWait(driver, 10)).until(ExpectedConditions.elementToBeClickable(By.name("dodaj_trenera")));
addTrainer.click();

当然,您等待的时间可以从10更改为对您的页面有意义的任何内容。

答案 1 :(得分:0)

WebElement element = driver.findElement(By.name("dodaj_trenera"));
((JavascriptExecutor)driver).executeScript("arguments[0].click();", element);