2016-06-07 90 views

回答

0

要使用iframe的工作,你必須從你的當前頁面切換到iframe中。 嘗試下面的代碼,讓我知道你的結果。

WebDriver driver = new FirefoxDriver(); 

driver.get("http://cashkaro.iamsavings.co.uk/"); 

String linkText = "SIGN IN"; 

WebElement eventElement = (new WebDriverWait(driver, 10)) 
     .until(ExpectedConditions.presenceOfElementLocated(By.linkText(linkText)));   

eventElement.click(); 

WebElement frame = (new WebDriverWait(driver, 10)) 
.until(ExpectedConditions.presenceOfElementLocated(By.xpath("html/body/div[14]/div[1]/div[2]/div[2]/div[1]/iframe"))); 
driver.switchTo().frame(frame); 

driver.findElement(By.id("uname")).sendKeys("[email protected]"); 
driver.findElement(By.id("uname")).sendKeys(Keys.TAB); 
driver.findElement(By.id("pwd")).sendKeys("enteryourpassword"); 
driver.findElement(By.id("sign_in")).click(); 

使用您的有效的登錄憑據登錄。

2

有一個預定義的方法Selenium您可以使用切換到FrameIFrame存在。

WebDriver driver = new FirefoxDriver(); 

有3種重載的方法可以用來切換到幀。

1. driver.switchTo().frame(String frameId); 
2. driver.switchTo().frame(int frameNumber); 
3. driver.switchTo().frame(WebElement frame); 

您可以使用上述3種方法之一來切換幀。

希望它有幫助!