Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用webdriver在iframe中设置标记的innerHTML_Javascript_Selenium_Selenium Webdriver - Fatal编程技术网

Javascript 如何使用webdriver在iframe中设置标记的innerHTML

Javascript 如何使用webdriver在iframe中设置标记的innerHTML,javascript,selenium,selenium-webdriver,Javascript,Selenium,Selenium Webdriver,通过使用runScript,它会写入textarea,但似乎不会写入blockquote标记中 textareaID.setHTML("Some Text"); selectFrame选择框架,sendKeys发送我想要的文本,但它也不会将文本写入p标记中。当我将它运行到//html/body时,它工作得很好,但它似乎不适用于//html/body/blockquote/p修改您的 安置 我想看看常见问题: 从selenium wiki: 答:假设iframe名为foo: 有时这不起作用,这是

通过使用runScript,它会写入textarea,但似乎不会写入blockquote标记中

textareaID.setHTML("Some Text");
selectFrame选择框架,sendKeys发送我想要的文本,但它也不会将文本写入p标记中。当我将它运行到//html/body时,它工作得很好,但它似乎不适用于//html/body/blockquote/p

修改您的 安置


我想看看常见问题:

从selenium wiki:

答:假设iframe名为foo:

有时这不起作用,这是因为iframe没有任何内容。在Firefox上,您可以在sendKeys之前执行以下操作:

这是必需的,因为默认情况下iframe没有内容:没有任何内容可以发送键盘输入。这个方法调用插入了一个空标记,可以很好地设置所有内容。 请记住,一旦完成,请退出该框架,因为所有进一步的交互都将与该特定框架进行:

driver.switchTo.defaultContent


谢谢你的回复,但是我没有修改html的权限。我只是想测试一下函数,在iframe中,onclick事件的blockquote和p标记会显示出来
textareaID.setHTML("Some Text");
selectFrame(iframeLocator);

sendKeys("//html/body/blockquote/p", "Some Text");
<p id="text">
 "set text here"
</p>
<script>
document.getElementById("text").innerHTML="some new text"
</script>
driver.switchTo().frame("foo");
WebElement editable = driver.switchTo().activeElement();
editable.sendKeys("Your text here");
((JavascriptExecutor) driver).executeScript("document.body.innerHTML = '<br>'");