我正在使用self.webView.stringByEvaluatingJavaScript(from: "document.getElementById('username').value = \"\(username)\"")
输入用户名,而且工作正常。
其他网页包含此字段:
<input type="text" maxlength="255" name="user" class="stdWidth" value="">
和这个字段:
<input type="password" maxlength="255" password="1" name="pass" class="stdWidth">
我如何使用stringByEvaluatingJavaScript
将文字放入此字段,因为它没有ID?
我试过"document.getElementByTagName"
,但它没有用。
我要输入的网页是:Link
答案 0 :(得分:3)
请尝试这样做。您有class
字段,因此请使用document.querySelector()
选择您的元素。例如下面。
var input = document.querySelector(".stdWidth");
input.value = "\"Hello\"";
//add event listener on edit like this..
input.addEventListener('change',function(){
var value = this.value;
console.log(value);//this is current value of your field
});
<!-- begin snippet: js hide: false console: true babel: false -->
<强>更新强>
getElementsByTagName()
方法返回文档中具有指定标记名称的所有元素的集合,作为NodeList对象。
var input = document.getElementsByTagName('input');
input[0].value = "\"username\"";
input[1].value = "\"password\"";
<input type="text" maxlength="255" name="user" class="stdWidth" value="">
<input type="text" maxlength="255" name="pass" class="stdWidth" value="">