无法使用python在selenium中使用send_keys输入值

时间:2014-02-24 13:48:43

标签: python selenium

我无法为文本字段赋值如下(它将该字段留空):

 browser.find_element_by_name("userId").clear()   
 browser.find_element_by_name("userId").send_keys('myname')

这是我试图赋予价值的文本字段的html部分:

<td align="left"> &nbsp;&nbsp;&nbsp;&nbsp; <input name="userCB" type="checkbox" onclick="disable_enable_user(checked)"/> User ID<br /></td>
<td align="left">
<input name="userId" type="text" size="15" value="" disabled="disabled">

是否因为该字段被禁用,如果是,我该如何启用它?

1 个答案:

答案 0 :(得分:0)

您可以使用JavascriptExecutor设置元素的属性值(示例在JAVA中,但您可以理解):

JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.getElementById('element id').setAttribute('attrName', 'value')");

通常,如果目标是测试自动化,尝试将值设置为禁用字段(即使通过操作)也不是一个好习惯。 您应该按原样自动化表单并仅在以下情况下查找解决方法:

  1. “用户流程”不能自动化
  2. 此特定测试并不重要
  3. 希望这会有所帮助