Appium 1.5.0
Xcode 7.3
IOS 10.11.4 OSX EI Capitan
Using on:Simulator iOS 8.1
假设我们有一个文本字段To see more information click
此处 and to get more click
此处。
所以我使用xpath
识别了文本,我可以得到它的位置和大小。
现在我们可以以某种方式获得这里的位置。我需要点击它,但因为它不是一个元素我无法搜索它。所以如果我能够获得它的位置,我可以tap
。
但是我们怎样才能获得它的位置并保持通用性以便它在不同的设备上运行?
答案 0 :(得分:1)
使用Objective C(我知道OP使用Appium,但他告诉我回答)的想法是使用TTTAttributedLabel这样的库并以这种方式使用它:
创建TTTAttributedLabel
(UILabel
子类),并将文本内容放入其中,就像它是UILabel一样。将其代表设置为自己。然后,以这种方式添加单词的链接:
NSRange rangeWord = [attributedLabel.text rangeOfString:@"here"];
[attributedLabel addLinkToURL:[NSURL URLWithString:@"anActionOnClickHere"] withRange:rangeUser];
单击单词时,它将调用此方法来处理单击:
- (void)attributedLabel:(__unused TTTAttributedLabel *)label
didSelectLinkWithURL:(NSURL *)url {
NSString *urlToString = [url absoluteString];
if ([urlToString containsString:@"anActionOnClickHere"]) { //perform segue for example
[self performSegueWithIdentifier:@"hereSegue" sender:self];
}
}
我绝对不了解Python,希望你能找到一个等效的方法。
答案 1 :(得分:1)
没有任何直接的方法来实现这一点(Appium本身没有API可用)。 但是,我的解决方案是通用的,适用于所有设备(Android和iOS),所有编程语言实现。
有关图片搜索,请参阅此处:How to find an image within another image using python