2015-12-27 32 views
1

我有一个简单的点击按钮的问题。它的按钮是CSS。Selenium WebDriver - 没有这样的元素:无法找到元素

<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"} 

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

+2

你可以检查元素是否在iframe中吗?谢谢。 – alecxe

回答

0

最常见的这种错误是一个同步问题:尝试点击它,这样之前等待元素是存在的并且可以点击:

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

当然,你等待的时间可以从10改为无论对你的页面有意义。

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

单独的代码块并不能提供很好的答案。请添加解释(为什么它解决了问题,错误在哪里等) –

相关问题