Javascript 使用selenium webdriver修改iframe内容
我想使用SeleniumWebDriver用新内容修改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:
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