如何从 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];