大家在做使用uia_controls库时,Combobox控件调用select(item)方法,是否遇到过这样的问题:当item为字符串时,该方法实现了双击选项;当item为索引时,该方法只是展开下拉框并将指定索引项选中,并没有点击操作。此方法使用起来无法满足需求,但是将if isinstance(item,six.string_type)中最后一个判断和click()去掉后,功能就正常了。同样的,elif中items[item].invoke()后增加click_input()操作,功能也正常了。但是修改第三方库是不规范的行为,因此是否有其他解释关于这个方法?求解。
在 UIA_controls 库中的 Combobox 控件中,select(item)方法的实现可能和预期的不一致。如果 item 参数是字符串类型,那么 select 方法将会双击选项;如果是数字类型,那么只会展开下拉框并选中指定索引项。
这是一个设计缺陷,不满足需求。当然,修改第三方库不是一种规范的做法,因此我建议考虑以下几种解决方案:
1.自定义方法:在您自己的代码中定义一个新的方法,以结合展开下拉框和选择项的操作。
2.提交问题:向 UIA_controls 库的开发人员提交一个问题,请求他们修复 select(item)方法。
3.发布修复:如果您有开发经验,可以尝试自行修复该问题,并将代码提交到 UIA_controls 库。
如果选第三种解决方案,请务先阅读 UIA_controls 库的代码贡献指南,确保修改能够被接受。