Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 自定义控件上的iOS自动脚本无法正常工作_Javascript_Ios_Automation_Custom Controls - Fatal编程技术网

Javascript 自定义控件上的iOS自动脚本无法正常工作

Javascript 自定义控件上的iOS自动脚本无法正常工作,javascript,ios,automation,custom-controls,Javascript,Ios,Automation,Custom Controls,我正在使用自动化脚本,并试图访问视图上的控件。此控件继承自UIControl并用作按钮 我设置此属性是为了访问组件: 因此,在这一点上,我希望通过脚本自动点击按钮: var target = UIATarget.localTarget(); var app = target.frontMostApp(); var window = app.mainWindow(); window.scrollViews()[0].buttons()["ButtonLogin"].tap(); 但事实并非如此

我正在使用自动化脚本,并试图访问视图上的控件。此控件继承自UIControl并用作按钮

我设置此属性是为了访问组件:

因此,在这一点上,我希望通过脚本自动点击按钮:

var target = UIATarget.localTarget();
var app = target.frontMostApp();
var window = app.mainWindow();

window.scrollViews()[0].buttons()["ButtonLogin"].tap();
但事实并非如此,因为它没有找到ButtonLogin。 按下该控件的唯一方法是通过静态文本:

window.scrollViews()[0].staticTexts()["Log in"].tap();
但不幸的是,这对我不起作用,因为我可以使用不同的语言,因此登录文本可能会改变

我需要一个通用的方法来获得控制权。对于普通按钮和文本字段,它可以正确地为可访问性设置标识符,如上图所示,但在这种情况下似乎不起作用

我还尝试了:

window.scrollViews()[0].elements()["ButtonLogin"].tap();
没有成功

谢谢

更新:

最后,我解决了对视图层次结构中索引的引用问题:

window.scrollViews()[0].staticTexts()[0].tap();
但无论如何,我想使用可访问性,因为视图层次结构可能会发生变化。

请查看。基本上,您应该使用accessibilityIdentifier属性