【发布时间】:2016-07-29 12:18:37
【问题描述】:
我有一个包含大约 50 个元素的 UITableView。在任何时候,只有其中 6 个在屏幕上可见。我想选择一个未添加到表格视图的单元格,或者说我需要从数据列表中选择第 25 项。
现在我正在使用这种方法单击表格视图中的单元格
wait.until(ExpectedConditions.visibilityOf(driver.findElementByAccessibilityId(element))).click();
但它不起作用,因为第 25 个元素尚未添加到视图中。请注意,我正在代码中动态添加表格视图单元格的可访问性标识符。
我怎样才能做到这一点?
*****添加了更多细节******
我的表格视图单元格显示了两个文本视图。货币短名称和货币长名称。
考虑这个例子
英镑
英镑
现在该表格视图单元格的可访问性标识符设置为 英镑。现在我尝试了
driver.scrollTo("GBP") 和 driver.scrollTo("英国英镑")
两者都没有工作。我收到一条错误消息
A element could not be located on the page using the Search parameter
谢谢。
【问题讨论】:
-
你知道元素的文本吗?因为 driver.scrollTo("Text") 在 iOS 中就像一个魅力。
-
您尝试过 X-Path 吗? x-path 中的索引应该可以帮助您在滚动时访问元素。
-
我认为你应该在选择之前显示单元格。可能您应该滚动到目标单元格(使用表格视图方法),然后尝试选择它。要查找单元格索引,您可以在模型数组中确定其模型。之所以需要它,是因为 TableView 重用了单元格,并且您在运行时为任何 tableView 的单元格更改 AccessibilityId
-
如果您知道单元格的高度,您还可以将表格视图滚动到某个偏移量,然后再尝试找到它。
标签: ios uitableview appium appium-ios