我想知道如何或者是否可以从我的iPhone应用程序代码在网站上的textField中输入内容。所以我想去一个中间有一个textField的网站,在那里我想输入一个特定的字符串。我怎么能在Swift中做到这一点(或者Objective-C - 我会弄清楚它在Swift中是如何工作的)?我非常感谢任何帮助:)
答案 0 :(得分:0)
您可以通过调用方法stringByEvaluatingJavaScriptFromString
将JavaScript注入UIWebView。您编写了一段JavaScript,您可以在其中选择输入字段并修改它的value
属性。
网上实际上有一篇文章解释了如何做到你需要的: http://iphoneincubator.com/blog/windows-views/how-to-inject-javascript-functions-into-a-uiwebview/
以下是您应该使用的部分(您只需更改DOM选择器中的ID):
[webView stringByEvaluatingJavaScriptFromString:@"var script = document.createElement('script');"
"script.type = 'text/javascript';"
"script.text = \"function myFunction() { "
"var field = document.getElementById('field_3');"
"field.value='Calling function - OK';"
"}\";"
"document.getElementsByTagName('head')[0].appendChild(script);"];
[webView stringByEvaluatingJavaScriptFromString:@"myFunction();"];
答案 1 :(得分:0)
您可以从代理中注入javascript。例如,在Obj-C中(我还不太清楚):
- (void)webViewDidFinishLoad:(UIWebView *)webView{
[_webView stringByEvaluatingJavaScriptFromString:@"doSomeStuff()"];
}
在您的情况下,您将要操纵DOM以在文本字段中添加一些文本 - 如下所示:
- (void)webViewDidFinishLoad:(UIWebView *)webView{
NSString * javascript_code = @"document.querySelector('input[name=your_input_name]').value = 'Foobaz'";
[_webView stringByEvaluatingJavaScriptFromString:javascript_code];
}
但请注意querySelector
,我不确定它在iOS网页视图中的可用性。