Javascript 使用selenium webdriver修改iframe内容

Javascript 使用selenium webdriver修改iframe内容,javascript,selenium-webdriver,webdriver,Javascript,Selenium Webdriver,Webdriver,我想使用SeleniumWebDriver用新内容修改iframe的内容 注意: 我已经尝试过以下方法: driver.swithTo().frame(frame_webelement); driver.findElement(By.xxx).sendKeys("Mycontent"); 我能够清除iframe中body的内容(使用MyWebElement.clear()) 但是我无法使用MywebElement.sendKeys()发送新内容 因此,我尝试使用以下给定的javascript:

我想使用SeleniumWebDriver用新内容修改iframe的内容

注意: 我已经尝试过以下方法:

driver.swithTo().frame(frame_webelement);
driver.findElement(By.xxx).sendKeys("Mycontent");
我能够清除iframe中body的内容(使用MyWebElement.clear())

但是我无法使用MywebElement.sendKeys()发送新内容

因此,我尝试使用以下给定的javascript:

if (driver instanceof JavascriptExecutor) {
        ((JavascriptExecutor) driver).executeScript("document.getElementsByClassName('iframeClass')[0].contentDocument.body.innerHTML='hello_text'");
    }
由于“document.getElementsByClassName('iframeClass')[0]”未定义,我收到一个异常。但是,同样的脚本可以很好地用于fireBug

//Switch to the iframe
driver.swithTo().frame(frame_webelement);

// then execute the JS
((JavascriptExecutor) driver).executeScript("document.body.innerHTML='hello_text'");
您的
switchTo()
工作正常,
JavascriptExecutor
工作正常。现在您只需要将这两种方法结合起来。您不需要在JS中选择iframe,因为您已经在
switchTo()之后进入了iframe