当前位置: 首页 > 知识库问答 >
问题:

无法用Java在Selenium WebDriver中定位/填充文本框

薛俊美
2023-03-14
<TD class=CuteEditorFrameContainer style="PADDING-BOTTOM: 2px; PADDING-TOP: 1px; PADDING-LEFT: 3px; PADDING-RIGHT: 3px" height="100%" colSpan=2>
<IFRAME id=obj_oOpera class=CuteEdit style="BORDER-TOP: #c0c0c0 1px solid; HEIGHT: 100%; BORDER-RIGHT: #c0c0c0 1px solid; WIDTH: 100%; BORDER-BOTTOM: #c0c0c0 1px solid; BORDER-LEFT: #c0c0c0 1px solid; BACKGROUND-COLOR: white"  frameBorder=0>
<HTML>
<HEAD>
<STYLE>BODY {
	PADDING-BOTTOM: 0px; PADDING-TOP: 0px; PADDING-LEFT: 0px; MARGIN: 0px; PADDING-RIGHT: 0px
}
</STYLE>
</HEAD>
<BODY contentEditable=true>
</BODY>
</HTML>
</IFRAME>
<INPUT id=oOpera type=hidden name=oOpera>
</TD>

问题我正在尝试填充注释框,但由于以下问题而无法填充

JavascriptExecutor jse=(JavascriptExecutor)驱动程序;jse.executescript(“document.getElementsByName('obj_oopera')[0].setAttribute('type','text');”);driver.findElement(by.xpath(“//iframe[@id='obj_oopera']”)).clear();driver.findElement(by.xpath(“//iframe[@id='obj_oopera']”)).sendkeys(“opera”);

--当我使用IFRAME或输入标记中的属性时,抛出异常元素不得隐藏/只读或禁用

其他不起作用的方法改变框架。Java脚本和常用发送键

共有1个答案

班展
2023-03-14

您试图在输入中输入一个值,但传递的是iframe的id。只需替换它的输入id,您的问题就会解决。

JavascriptExecutor jse = (JavascriptExecutor)driver; 
jse.executeScript("document.getElementsByName('oOpera')[0].setAttribute('type', 'text');"); 
driver.findElement(By.xpath("//input[@id='oOpera']")).clear(); 
driver.findElement(By.xpath("//input[@id='oOpera']")).sendKeys("Opera");

此外,您的输入字段在Iframe之外,而Iframe内部的body没有任何元素,这就是为什么它显示空body的原因。

 类似资料:
  • 我被卡住了。我一直在尝试不同的方法将6个头像字符串的结果加载到picturebox控件数组的加载方法中。 这就是我必须迭代(mysql结果集)值字符串到pictureboxes的内容 但是每个图片框都显示为白色(空白)。如果我将SQL查询设置为LIMIT 1,我将为每个图片框获得相同的第一个头像。但它不会相应地分配,或者根本不会。 我如何才能循环到我的6个图片框正确的网址?谢谢你们 编辑 我也尝试

  • 我遇到了以下问题:当手机应该输入时,我需要实现这种情况的解决方案。这部手机应该有不可移动的部分,最后四个数字应该在开头填写下划线,然后当用户键入下划线时,应该将其更改为数字,例如: < code> 12345____ - 我实现了不可移除的部分。我是这样做的: 但现在我不明白,如何处理下划线的逻辑。我尝试在< code>doAfterTextChanged中添加下划线,比如if

  • 下面是Verzeichnisdaten类: 此代码属于Verzeichnisdaten。上面有更多的代码,但现在不相关了。

  • 问题内容: 我想创建一个自动建议的文本框,该文本框将在每个键释放事件时查询数据库。这部分很简单,但是我想给它很好的视觉效果。与我们在网站中看到的自动建议文本框类似,例如在Facebook中搜索。 如何制作这样的界面? 一个幼稚的想法是将JList放在文本框的正下方,并在找到一个JList时将其设置为可见。 有更好的主意或标准方法吗? 问题答案: 我使用了另一种方法: 它使用一个称为的自定义类,该类

  • 我正在尝试用getelementbyclassname()填充这个文本框。值但是不管用。它只有在我使用innertext时才有效,但这不是我想要的,因为它对文本进行了硬编码。我该如何处理这个元素以便向它传递文本呢? VBA:

  • 我使用的是带有AppCompatEditText的TextInputLayout,它为AppCompatEditText提供了一个基于xml形状的自定义背景。每当我设置一些错误,错误线从布局的开始。有没有办法给那个错误行做填充。