我正在尝试使用androidviewclient获取Checkbox的状态
lock = vc.findViewWithText('Lock SIM card')
if (lock.isChecked()):
print "Enabled"
else:
print "Disabled"
这总是返回False。
任何人都可以告诉我如何获取复选框的状态
答案 0 :(得分:1)
那是因为锁不是ckeckbox。锁定是包含“锁定SIM卡”的文本视图。 您需要使用hierarchyviewer或uiautomatorviewer来查看UI的布局。
UI看起来像:
(0) Linear layout
(1) Relative layout
(0) TextView "Lock SIM card"
(1) TextView "Require PIN to use phone"
(2) Linear layout
(0) CheckBox
所以你需要做一些事情:
linear_layout = lock.parent.parent
check_box = linear_layout.children[2].children[0]
这不是直截了当的,但我过去曾经使用过它并且工作过。 请注意我使用的ViewClient版本是2.3。现在它已演变为4 +。
答案 1 :(得分:0)
This Link Has what you want 上面的示例将向您展示如何获取所选复选框的状态。看看吧。
答案 2 :(得分:0)
这可能有效:
vc.dump()
lock = vc.findViewWithText('Lock SIM card').getParent().getChildren() [2].getChecked()
if lock != True:
print 'Lock SIM card not enabled...'
vc.dump()
vc.findViewWithText('Lock SIM card').touch()
else:
print 'Lock SIM card already enabled...'