【问题标题】:How can I set value on slider如何在滑块上设置值
【发布时间】:2018-04-20 15:52:16
【问题描述】:

我尝试在滑块上设置值。我可以连接到它。但后来我尝试设置值捕获_ctypes.COMError: (-2146233079, None, (None, None, None, 0, None)) I tried this, but it not helps.

【问题讨论】:

  • 你能给出你的代码的完整例子吗?
  • 通常这个错误意味着 ValuePattern 在应用端的实现不正确。 Inspect.exe 中的此滑块支持哪些模式?
  • @VasilyRyabov, this is copyclipboard 来自 Inspect.exe
  • 谢谢!这是范围值模式。当我在 PC 附近时,让我有时间提供一个解决方法。

标签: python-3.x com pywinauto uia


【解决方案1】:

嗯...这很有趣。我们有标准 WPF 滑块的工作单元测试。参考test_uiawrapper.py, line 780

在 Inspect.exe 中的一切看起来都一样。但是对于 WpfApplication1.exe 它可以工作。

[编辑] 等等!你把 int number 传给set_value(...),那float 或者str呢?

附:我可以建议一种解决方法,因为您应该将“拇指”控件作为滑块的子控件:slider.children(control_type="Thumb")[0]。您可以使用滑块和拇指的矩形 (.rectangle().mid_point()),然后使用 click_input(coords=(x, y), absolute=False) 并为指定值计算相对坐标。或者甚至.drag_mouse_input(...) 更好,因为单击应该只调用单击方向上的一小步。

【讨论】:

  • 是的,我尝试将浮点数和字符串传递给 set_value(...)。我有同样的结果。 “我可以建议一种解决方法,因为您应该将“拇指”控件作为滑块的子项......”我考虑过这个决定,但我决定等待答案。看来我得这样做了。谢谢!
猜你喜欢
  • 2013-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-12
相关资源
最近更新 更多