1

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"了,但没有用。

我要输入的网页是:链接

4

1 回答 1

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="">

于 2017-02-18T11:05:49.097 回答