我正在开发一个利用 WebSpec 的简单应用程序。我正在使用 mozilla() 浏览器。现在,有一页我想将一些文本注入到输入中,然后单击一个值为“提交”的按钮。该页面已正确加载,所有标签都存在并且可以访问。唯一的麻烦是,每次 WebSpec 尝试访问它时,“提交”按钮都不起作用。即使我自己单击它也无法使其工作。页面需要重新加载。
这是表单的代码:
<form action="" method="post" name="theForm" id="theForm" onsubmit="get_search_results(); return false;">
<table cellpadding="0" cellspacing="10" style="text-align:left;margin:auto;" >
<tr>
<th valign="top">Enter Text: </th>
<td valign="top"><input type="text" name="theText" id="theText" class="box" value="" />
<br />
</td>
<td valign="top">
<select name="its-name" class="box" >
//some options
</select>
</td>
<td valign="top"><input type="button" value="Submit" class="button-of-color" onclick="get_the_results();" /></td>
<td valign="top"><a href="url" class="button-of-color">A Link</a></td>
</tr>
</table>
<div id="theResults"></div>
</form>
这是我用来执行上述操作的代码(XTend 代码):
spec.open(theUrl)
val keywordBox = spec.find.input().with.name("theText")
val proceedBox = spec.find.input().with.type("button").with.value("Submit")
keywordBox.set.value(theText)
proceedBox.click
输入文本字段获取其值,但按钮(即使它被单击)不会执行脚本。正如我所说,即使手动单击也没有任何效果。另一方面,我可以更改它的值和其他属性。
我不知道为什么会发生这种情况以及罪魁祸首是什么。而且由于我使用 Watin 在 .NET 中编写的另一个应用程序运行良好,我相信它应该可以运行。
在此先感谢您的帮助。:)
编辑:只是mozilla
改变ie
似乎正在解决问题。我想这是一个应该由开发人员修复的错误。我会问他们。我不喜欢的是,这就是我从 .NET 切换到 Java 的原因——我不必移植应用程序。
与此同时,我仍在寻找解决方法......