有没有办法获取作为 XCUIElement 的选择器轮的字符串值?
Is there a way to get the string value of a picker wheel that is an XCUIElement?
我知道这存在:
func adjust(toPickerWheelValue pickerWheelValue: String)
,但我并没有尝试调整该值。我想确保该值是我移动后期望的字符串。
我尝试在选择器轮子元素上执行 .value
,但它给了我一个 Any
类型,其中包含我需要的字符串,以及一些额外的东西。
假设屏幕的打印输出是这样的:
Attributes: Application, pid: 64445, label: ‘App’
Element subtree:
→Application, 0x60000263a150, pid: 64445, label: ‘App’
Window (Main), 0x600002639110, {{0.0, 0.0}, {320.0, 568.0}}
Other, 0x6000026396c0, {{0.0, 0.0}, {320.0, 568.0}}
Picker, 0x600002639040, {{0.0, 352.0}, {320.0, 216.0}}
PickerWheel, 0x600002639520, {{0.0, 314.5}, {103.0, 291.0}}, value: 0 hours
PickerWheel, 0x600002639380, {{108.0, 314.5}, {103.0, 291.0}}, value: 13 min
我会在控制台打印 app.pickerWheels.element(boundBy: 0).value
并得到这个
Optional<Any>
- some : 0 hours
我明确地只想要 0 hours
所以我可以断言选择器轮是这样说的。
因为我遇到了同样的问题,所以我在这里找到了你的问题。现在我也从这里找到了解决方案:(最后一个答案)。
可以像这样将值转换为字符串:
let value = app.pickerWheels.element(boundBy: 0).value as! String
这给了我继续的正确价值。
希望我能帮到你,因为你的问题也对我有帮助,这让我在这里注册给出答案。
我知道这存在:
func adjust(toPickerWheelValue pickerWheelValue: String)
,但我并没有尝试调整该值。我想确保该值是我移动后期望的字符串。
我尝试在选择器轮子元素上执行 .value
,但它给了我一个 Any
类型,其中包含我需要的字符串,以及一些额外的东西。
假设屏幕的打印输出是这样的:
Attributes: Application, pid: 64445, label: ‘App’
Element subtree:
→Application, 0x60000263a150, pid: 64445, label: ‘App’
Window (Main), 0x600002639110, {{0.0, 0.0}, {320.0, 568.0}}
Other, 0x6000026396c0, {{0.0, 0.0}, {320.0, 568.0}}
Picker, 0x600002639040, {{0.0, 352.0}, {320.0, 216.0}}
PickerWheel, 0x600002639520, {{0.0, 314.5}, {103.0, 291.0}}, value: 0 hours
PickerWheel, 0x600002639380, {{108.0, 314.5}, {103.0, 291.0}}, value: 13 min
我会在控制台打印 app.pickerWheels.element(boundBy: 0).value
并得到这个
Optional<Any>
- some : 0 hours
我明确地只想要 0 hours
所以我可以断言选择器轮是这样说的。
因为我遇到了同样的问题,所以我在这里找到了你的问题。现在我也从这里找到了解决方案:
可以像这样将值转换为字符串:
let value = app.pickerWheels.element(boundBy: 0).value as! String
这给了我继续的正确价值。
希望我能帮到你,因为你的问题也对我有帮助,这让我在这里注册给出答案。