获取当前的UIWebVIew元素

时间:2013-09-06 08:53:50

标签: ios objective-c cocoa-touch uiwebview kif-framework

我目前正在使用KIF Framework为iOS应用程序开发一些UIAutomation测试。在某些时候,应用程序必须打开带有登录页面的WebView,输入用户名和密码,然后按登录按钮,所有这些都必须自动完成。

我的问题是:知道在某个特定时刻应用程序显示该登录页面,我如何获得WebView UI元素,如:

UIWebView *webView = // . . . ?

另外,如果您能告诉我如何获取这两个文本字段(用户名和密码),那将会非常棒,例如:

UITextField *textField = // ... ?

谢谢。

2 个答案:

答案 0 :(得分:3)

使用此代码:

NSString *myText = [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.textContent"];

OR对于所有数据

NSString *html = [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.outerHTML"];

Check this link

我希望这段代码对你有用。

答案 1 :(得分:2)

这个想法是你想要在加载webview之后抓住webview 。 为此,您必须将通知代码放在webview委托函数webViewDidFinishLoad

在那里..你可以提出一个NSNotification ..如果你已经使用KIF一段时间了,你知道只有在你收到NSNotification后才能实例化行动.. this是kif中的方法:

+ (id)stepToWaitForNotificationName:(NSString*)name object:(id)object;

至于找到UIWebView本身,你只需要给它与iOS中任何其他UIElement相同的accessibility label