如何处理硒框架

时间:2015-07-17 19:28:43

标签: selenium selenium-webdriver

我正在尝试登录this网站

但是当页面加载时会显示一个框架。

我试图切换到框架,但都是徒劳的

public void logon(String Username,String Password,String trns)
{
    Configuration.driver.get(Configuration.URL);

    Configuration.driver.manage().timeouts().implicitlyWait(8,TimeUnit.SECONDS);
    Configuration.driver.switchTo().
    //Configuration.driver.findElement(By.xpath("//a[@text()='Close Window']")).click();
    usrId.sendKeys("Username");
    pswd.sendKeys("Password");
    tranId.sendKeys("trns");
    logOn.click();
}

1 个答案:

答案 0 :(得分:0)

您可以轻松获取Frame切换的代码。请在发布之前搜索问题。

//Switch to Iframe
 WebElement iframe = driver.findElement(By.xpath("Xpath of frame"));
 driver.switchTo().frame(iframe);  

 //Perform your Task.

 driver.switchTo().defaultContent();// Iframe is Switched to Main Again 

检查此链接是否有框架开关: - Click here

嗨Ketan。 您的代码问题可能是等待问题。单击弹出窗口中的“继续”按钮后,需要一些时间与下一个元素进行交互。所以对于那些你需要在你的代码中声明一些的人。

点击waits

的此链接

这是工作代码。我尝试过这个。请检查一下,它将解决您的问题。

import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;

public class userId {

    public static void main(String[] args) throws InterruptedException {
        WebDriver driver = new FirefoxDriver();
        driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
        driver.manage().window().maximize();
        driver.get("https://qlb21.resources.hewitt.com/cl77ybr5qc/ybr5cl772b/CsLogn010InptOpen.do?fTkn=539f4eddc99aef9eb1c8da11d13a3654&fWdw=intro&eWlmYBR5ClntId=00398&wdw=primary&fPg=%2FCsLogn005WelcOpen");
        System.out.println("Entered Url");
        WebElement frame=driver.findElement(By.xpath("//*[@id='lightbox_iframe_cookieBanner']"));
        driver.switchTo().frame(frame);
        driver.findElement(By.xpath("//*[@id='lightboxarea']/div/div/a[1]")).click();
        driver.switchTo().defaultContent();
        driver.findElement(By.xpath("//*[@id='usrId']")).sendKeys("hari");
        System.out.println("Entered the userid");
        driver.findElement(By.xpath("//*[@id='pswd']")).sendKeys("Password");
        System.out.println("Entered the Password");    
    }
}