【问题标题】:How to Change `<input>` element attributes(e.g. value) from objective-C in wkWebview/webView如何在 wkWebview/webView 中从 Objective-C 更改`<input>` 元素属性(例如值)
【发布时间】:2017-03-24 07:12:50
【问题描述】:

好的,我在这个网站上找到了某些 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];

但还是没有达到目标,如果我犯了任何错误,请赐教...

【问题讨论】:

  • 我没有使用 Obj-c 的经验,但建议使用 ClassName 而不是 TagName
  • 您能告诉我如何通过 className 更改值吗?因为我试过了,无法解决

标签: javascript objective-c webview wkwebview


【解决方案1】:

通过标签完成,如果有更充分的方式,欢迎使用,

  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];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-03
    • 2010-09-16
    • 1970-01-01
    • 1970-01-01
    • 2017-01-18
    • 2013-11-30
    • 2011-05-03
    • 2015-04-25
    相关资源
    最近更新 更多