为什么我得到NoSuchElementException,即使我在黄瓜stepdefinition中捕获它?

时间:2013-10-09 12:30:28

标签: java selenium cucumber bdd

@When("^user clicks linkedin button of the first news item$")
    public void user_clicks_linkedin_button_of_the_first_news_item()
    {
        try
        {
            firstSocialShareElement = driver.findElement(By.className("social-share-linkedin"));
            if(firstSocialShareElement!=null && firstSocialShareElement.isDisplayed())
            {
                firstSocialShareElement.click();
            }
        }
        catch(NoSuchElementException e)
        {

        }
    }

1 个答案:

答案 0 :(得分:0)

事实证明这是一个类名冲突的简单案例。

由于我没有将例外的完整限定名称指定为org.openqa.selenium. NoSuchElementException

它认为它是java.util. NoSuchElementException

因此异常没有被抓住。

现在问题已解决。

      try
        {
            firstSocialShareElement = driver.findElement(By.className("social-share-linkedin"));
            if(firstSocialShareElement!=null && firstSocialShareElement.isDisplayed())
            {
                firstSocialShareElement.click();
            }
        }
        catch(org.openqa.selenium. NoSuchElementException e)
        {

        }