如何从 wkWebview/webView 中的 objective-C 更改 `<input>` 元素属性(例如值)
How to Change `<input>` element attributes(e.g. value) from objective-C in wkWebview/webView
好的,我从这个网站找到了某些 links,
但问题是如果标签不包含 id 或 name 怎么办?
<input type="email" class="_style_3vhmZK" placeholder="Email: name@example.com" value="" data-reactid="49">
我这样试过:
尝试数 1:
NSString *javaScript1 = @"var passFields = document.document.getElementsByTagName('input'); \
passFields[0].setAttribute('value','Naman')"; [webView evaluateJavaScript:javaScript1 completionHandler:nil];
尝试数 2
NSString *javaScript = @"document.getElementsByTagName('input')[0].setAttribute('value','Naman Vaishnav');"; [webView evaluateJavaScript:javaScript1 completionHandler:nil];
但是还是没有达到目标,有什么不对的请多多指教...
通过标签完成,有更充分的方式欢迎使用,
NSString *javaScript1 = @"var passFields = document.getElementsByTagName('input'); \
for (var i = passFields.length>>> 0; i--;) { if(passFields[i].placeholder == 'Email: name@example.com'){ passFields[i].value ='%@';}}";
NSString *javascriptWithCSSString = [NSString stringWithFormat:javaScript1,emailInfo[0]];
[webView evaluateJavaScript:javascriptWithCSSString completionHandler:nil];
好的,我从这个网站找到了某些 links,
但问题是如果标签不包含 id 或 name 怎么办?
<input type="email" class="_style_3vhmZK" placeholder="Email: name@example.com" value="" data-reactid="49">
我这样试过:
尝试数 1:
NSString *javaScript1 = @"var passFields = document.document.getElementsByTagName('input'); \
passFields[0].setAttribute('value','Naman')"; [webView evaluateJavaScript:javaScript1 completionHandler:nil];
尝试数 2
NSString *javaScript = @"document.getElementsByTagName('input')[0].setAttribute('value','Naman Vaishnav');"; [webView evaluateJavaScript:javaScript1 completionHandler:nil];
但是还是没有达到目标,有什么不对的请多多指教...
通过标签完成,有更充分的方式欢迎使用,
NSString *javaScript1 = @"var passFields = document.getElementsByTagName('input'); \
for (var i = passFields.length>>> 0; i--;) { if(passFields[i].placeholder == 'Email: name@example.com'){ passFields[i].value ='%@';}}";
NSString *javascriptWithCSSString = [NSString stringWithFormat:javaScript1,emailInfo[0]];
[webView evaluateJavaScript:javascriptWithCSSString completionHandler:nil];