没有这样的元素:无法定位元素:硒中出现异常

No such element: Unable to locate element: exception coming in selenium

登录后尝试验证用户凭据时,我每次都遇到以下错误。

org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//td[contains(text(), 'User: Naveen K')]"}

我的代码如下

首页测试class

@Test(priority = 2)
public void verifyUserNameLabelTest() {

    testUtil.switchToFrame();       

    Assert.assertTrue(homePage.verifyUserName());

}

TestUtil class

public void switchToFrame() {

    driver.switchTo().frame("mainpanel");

}

首页class

public boolean verifyUserName() {

    return usernameLabel.isDisplayed();

} 

我的HTML网页源码如下

问题出在你的 xpath 上,它试图找到用户元素:

"//td[contains(text(), 'User: Naveen K')]"}

正确的 xpath 应该是:

"//td/font[contains(text(), 'User: Naveen K')]"}

您查看的文字不属于td标签,属于font标签。

@rajKamal 的回答很好,但您也可以使用“.”像这样搜索名字

"//td/font[contains(., 'User: Naveen K')]"}