Selenium:无法在iframe中输入文字

时间:2015-03-17 08:46:26

标签: java javascript selenium iframe

我正在使用以下Java函数在iframe中输入文本:

public boolean EnterTextIntoFrame() 
{
    String text=this.data; // String to be entered
    boolean result=true;
    try{
        if(keyType.equals("xpath"))
        {
            Thread.sleep(2000);
            WebElement ifr=driver.findElement(By.xpath(OR.getProperty(keyValue)));

            driver.switchTo().defaultContent();
            driver.switchTo().frame(ifr);
            // Author: Ruchir Sharma; 17/3/2015
            if(driver instanceof FirefoxDriver)
            {
                WebElement ckeContent = driver.findElement(By.tagName("body"));
                ckeContent.clear();
                ckeContent.sendKeys(text);
            }
            // Author: Ruchir Sharma; 17/3/2015
            if(driver instanceof ChromeDriver)
            {
                WebElement ckeContent = driver.findElement(By.tagName("body")); 
                ckeContent.clear(); 
                ckeContent.sendKeys(text); 
            }
            else
                ((JavascriptExecutor) driver).executeScript("document.getElementsByTagName('body')[0].innerHTML=arguments[0];",text,"");
            driver.switchTo().defaultContent();
        }
        }catch(Exception e){
            result=false;
        }
        return result;
}

当我运行上面的代码时,我的代码不是在iframe中输入字符串'text',而是输入字符串“undefined”。请帮助。

0 个答案:

没有答案