我正在尝试登录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();
}
答案 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");
}
}