Java:找不到状态按钮

Java:找不到状态按钮,java,html,selenium,qa,Java,Html,Selenium,Qa,我正在使用Selenium处理一个功能文件,在尝试读取状态按钮时遇到问题。如果状态符号设置为“已邀请”,则应切换到其他管理员帐户应用程序并批准邀请。然而,在这种情况下,它并没有这样做。有什么建议吗 public void disconnectFromUser(String user) { logger.info("Making sure that I am not connected to PurpleHS user"); iframeExit(); searchFor

我正在使用Selenium处理一个功能文件,在尝试读取状态按钮时遇到问题。如果状态符号设置为“已邀请”,则应切换到其他管理员帐户应用程序并批准邀请。然而,在这种情况下,它并没有这样做。有什么建议吗

 public void disconnectFromUser(String user) {
    logger.info("Making sure that I am not connected to PurpleHS user");
    iframeExit();
    searchForUser(user);
    communityFrame();
    try {
        String buttonText = driver.findElement(By.className("cp-ur-link-wrapper ")).findElement(By.tagName("a")).getText();
        if (buttonText.equals("Invited")) {
            acceptConnectionRequestByHSUser();
            searchForUser(user);
            communityFrame();
            clickDisconnectBtn();
        } else {
            clickDisconnectBtn();
        }
    } catch (NoSuchElementException ex) {
        logger.info("The user is not a connection.");
        driver.findElement(By.className("close")).click();
        waitUntilPageFinishLoading();
    }
}
以下是一些HTML:

<div id="cp-ur-17417" class="cp-ur-link-wrapper "><a href="#" title="Invited" class="ur-pending ur-request-link ur-disabled-link">Invited</a></div>

对于这一行代码:

String buttonText = driver.findElement(By.className("cp-ur-link-wrapper ")).findElement(By.tagName("a")).getText();  
您只需将其替换为链接文本即可:

String buttonText = driver.findElement(By.linkText("Invited")).getText();  
代码:

if (buttonText.equals("Invited")) {
            System.out.println("Inside if else ladder")
            acceptConnectionRequestByHSUser();
            searchForUser(user);
            communityFrame();
            clickDisconnectBtn();
        } else {
            clickDisconnectBtn();
        }

您的类名应该是
ur pending ur request link ur disabled link
not
cp ur link wrapper
,无需再次按标记名查找

或者您也可以尝试xpath

//a[@title='Invited'][@class='ur-pending ur-request-link ur-disabled-link']
因此,您的代码行将变成:

String buttonText = driver.findElement(By.xpath("//a[@title='Invited'][@class='ur-pending ur-request-link ur-disabled-link']")).getText();