我正在尝试通过网络抓取 HTML 页面,以便使用 swiftSoup 和 swift 登录用户。
使用以下代码,我可以更改 HTML 表单的用户名和密码
但我现在找不到如何提交表格的方法。
func logIn(){
do {
let html = try! String(contentsOf: URL(string: "https://icrew.airmacau.com.mo/")!)
let doc: Document = try SwiftSoup.parse(html)
print("***************")
let username : Element = try doc.select("#userName").first()!
print(username)
let pass : Element = try doc.select("#userPassword").first()!
print(pass)
try username.attr("userName", "1234")
try pass.attr("userPassword", "pass1234")
} catch Exception.Error(let type, let message) {
print(message)
print(type)
} catch {
print("error")
}
}
这里是页面的 HTML 文件:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><script type="text/javascript" src="http://icrew.airmacau.com.mo//JavaScripts/jquery-1.4.js"></script><script type="text/javascript" src="http://icrew.airmacau.com.mo//JavaScripts/JScript.js"></script><script type="text/javascript" src="http://icrew.airmacau.com.mo//JavaScripts/jquery.table.sort.js"></script><script type="text/javascript" src="http://icrew.airmacau.com.mo//JavaScripts/jquery.table.page.js"></script><title>
Air Macau's Online Preparation System
</title><link href="Css/login.css" rel="stylesheet" type="text/css" /><link href="App_Themes/Default/dialog.css" type="text/css" rel="stylesheet" /><link href="App_Themes/Default/img/calendar-win2k-cold-1.css" type="text/css" rel="stylesheet" /><link href="App_Themes/Default/index.css" type="text/css" rel="stylesheet" /></head>
<body>
<form name="form1" method="post" action="Login.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE3MjIwMzY0MTRkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYBBQtsb2dpbkJ1dHRvbSnqD+GLKl7iJjygY5goYwB/Pff1" />
</div>
<div id='htmls'></div>
<div>
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="C2EE9ABB" />
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWBAKo/8+8DwKPpuq2CALogbjNDgL59eu0Cd3qM6GPMChXJ735ACwTVvt1ix//" />
</div>
<div class="frame">
<div class="outer">
<div id="middle">
<div id="inner">
<div class="loginBG">
<div id="logoMacau">
</div>
<div id="airImg">
</div>
<div id="loginBox">
<input name="userName" type="text" id="userName" />
<input name="userPassword" type="password" id="userPassword" />
<div id="Div1" onclick="alert('submit')">
</div>
<input type="image" name="loginButtom" id="loginButtom" src="images/btnlogin.png" style="border-width:0px;" />
<div id="divPrompt" style=" position:absolute; top:-31px; left:-200px; right: -187px; color:Red; font-size:large; height: 25px;">
<span id="lblPrompt" style="font-weight:bold;"></span></div>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
</body>
</html>
如何使用 swift 登录用户?该公司有这个动作“Login.aspx”要运行......但在网上找不到太多文档如何做到这一点..
谢谢