无法对无效元素执行操作:UIAElementNil

时间:2013-02-14 05:46:51

标签: javascript ios-ui-automation

脚本引发了一个未被捕获的JavaScript错误:

Cannot perform action on invalid element: UIAElementNil from target.frontMostApp().mainWindow().popover().actionSheet().buttons()["Save Note"]

代码:

var target = UIATarget.localTarget();
var app = target.frontMostApp();
var window = app.mainWindow();
target.logElementTree();
UIALogger.logPass("Stick Note Save Start"); 
app.navigationBar().toolbar().buttons()["Plus"].tap(); 
app.keyboard().typeString("Ki");
window.popover().actionSheet().buttons()["Save Note"].tap();
UIALogger.logPass("StickNoteSaveEnd");

2 个答案:

答案 0 :(得分:0)

首先,检查正确的层次结构。 然后,尝试使用 “app.popover()。actionSheet()。buttons()[”Save Note“]。tap();” 如果它不适合您,请提供有关元素结构/按钮的一些详细信息。

答案 1 :(得分:0)

我认为javascript中的操作表访问存在一个错误。您可以看到我对类似问题的回答here

基本上我认为actionSheet()总是将nil返回给按钮和元素。它不应该,但我所见过的一切都表明不是这样。

MikhailV设计了一个功能来点按正确的按钮here