J'ai besoin de pré-remplir les champs de texte dans un dernière tentative bâclée: p> peut Toute personne me dirige dans la bonne direction? p> -edit - p> J'ai également essayé de retarder l'appel au cas où la page n'avait pas complètement chargé et si j'appelle quelque chose comme: P > uiwebview code> et je suis donné pour comprendre que
JavaScript code> est le meilleur moyen d'y aller. Malheureusement, je ne connais rien de
JavaScript Code> et je craignez depuis quelques heures, n'aurez nulle part.
<html>
<head> ⦠</head>
<body onload="FinishLoad(1);hideJSWarn();">
<div id="noJSWarn" class="cssSecurityWarning" style="display: none;"> ⦠</div>
<table id="table_LoginPage_1" > ⦠</table>
<table id="table_LoginPage_2" > ⦠</table>
<blockquote>
<form id="frmLogin_4" onsubmit="return Login(1)" autocomplete="off" method="POST" action="login.cgi" name="frmLogin">
<input id="tz_offset_5" type="hidden" name="tz_offset"></input>
<table id="table_LoginPage_3" >
<tbody>
<tr> â¦
<td valign="top">
<table id="table_LoginPage_6" >
<tbody>
<tr>
<td> ⦠</td>
<td>
<input id="username_5" type="text" size="20" name="username"></input>
3 Réponses :
Vous devez mettre le code JavaScript à l'intérieur d'une nstring, puis exécuter avec StringByevaluatingJavascriptFromstringFromstring code>. C'est ainsi que le code ressemblerait à:
[self.webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.getElementById('email').value = '%@'", email]];
[self.webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.getElementById('pass').value = '%@'", password]];
Merci. Je vais essayer ça un essai.
Np. Faites-moi savoir si cela vous a aidé.
Toujours pas de joie. Un collègue a réussi à précharger les champs via c # code> c # code> javascript code> ne fonctionne pas depuis
objectif-c code>.
Ceci à coup sûr, j'ai copié d'un projet de mien. Le problème doit être ailleurs. Vérifiez si vous passez le bon «ID» correct dans la fonction JavaScript, vérifiez si votre webview est correctement, si son délégué est défini, etc.
J'ai édité l'OP pour montrer d'autres tests. Afaict Le délégué est défini correctement, les ID d'élément sont corrects et HTML est entièrement chargé avant d'appeler le JS code>.
@Lucaseduardo Veuillez regarder cette Stackoverflow.com/Questtions/37644551/... . Cela a besoin de votre aide.
J'avais obtenu les identifiants d'élément en les mettant en surbrillance dans Firefox et en sélectionnant brancher ces identifiants (qui varient apparemment dépendant de ce qui a été utilisé pour naviguer vers la page) dans: P> Inspecter élément code>.
Il s'avère que cela donne différents identifiants à ceux qui sont retournés avec:
[self.emailWebView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.getElementById('username').value = '%@';", user]];
[self.emailWebView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.getElementById('password').value = '%@';", pw]];
[self.emailWebView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.getElementById('input_LoginPage-ipad_1').click();"]];
Veuillez consulter ce Stackoverflow.com/questions/376444551/... . Cela a besoin de votre aide.
Utilisez ce code, cela fonctionnera
view.loadUrl("javascript:(function() { " + " document.getElementById('login').value = '" + emailAdress+ "';" + " document.getElementById('login').readOnly='true'" + "})();");
Je ne sais pas si cela vous aidera, mais ne manquez pas
; code> après le
'testpw' code>?
Je viens de tester votre code (avec le
; code> J'ai suggéré dans le commentaire précédent) et votre code JS fonctionne bien pour moi. Alors peut-être vérifier votre code HTML si c'est ok
Toujours ne fonctionne pas alors peut bien être le HTML.