<iframe>
<html>
<head>
</html>
<body>
<blockquote>
<p>
"set text here"
</p>
</blockquote>
</body>
</html>
</iframe
您好我正在尝试在iframe中设置标签的innerHTML,而我似乎无法让它工作
textareaID.setHTML("Some Text");
通过使用runScript,它会写入textarea,但它似乎没有在blockquote标签内写入
selectFrame(iframeLocator);
sendKeys("//html/body/blockquote/p", "Some Text");
selectFrame选择框架,sendKeys发送我想要的文本,但它也不会在p标签内写入文本。当我将其运行到// html / body时它工作正常但它似乎不适用于// html / body / blockquote / p
答案 0 :(得分:0)
修改您的<p>
<p id="text">
"set text here"
</p>
放入<head>
<script>
document.getElementById("text").innerHTML="some new text"
</script>
答案 1 :(得分:0)
我会看看常见问题here:
来自selenium wiki:
答:假设iframe被命名为&#34; foo&#34;:
driver.switchTo().frame("foo");
WebElement editable = driver.switchTo().activeElement();
editable.sendKeys("Your text here");
有时这不起作用,这是因为iframe没有任何内容。在Firefox上,您可以在&#34; sendKeys&#34;:
之前执行以下操作((JavascriptExecutor) driver).executeScript("document.body.innerHTML = '<br>'");
这是必需的,因为默认情况下iframe没有内容:没有任何内容可以发送键盘输入。此方法调用插入一个空标记,可以很好地设置所有内容。 一旦完成,请记得切换出框架(因为所有进一步的交互将与此特定框架一起):
driver.switchTo()defaultContent();