如果我有x,y坐标,我可以访问HTML元素的内容,如下所示:
location = [aTouch locationInView:myWebView];
NSString *js = [NSString stringWithFormat:@"document.elementFromPoint(%f, %f).innerHTML", location.x, location.y];
NSString *text = [myWebView stringByEvaluatingJavaScriptFromString:js];
然而,我无法保留以后访问它的参考:
NSString *js2 = [NSString stringWithFormat:@"document.elementFromPoint(%f, %f)", location.x, location.y];
NSString *tagName = [myWebView stringByEvaluatingJavaScriptFromString:js2];
至少除非元素有名称,而且我不能控制HTML,所以我不能直接添加它。
有什么建议吗?
我认为您无法获得指向DOM元素或类似内容的指针。与HTML本身交互的唯一方法是使用Javascript API。
因此,您需要存储元素的ID/类名,或者每次使用DOM遍历都只查找它们。
我想我会在页面中注入一些Javascript来完成繁重的工作,并使用stringByEvaluatingJavaScriptFromString
方法调用那个API。