0

我正在尝试通过网络抓取 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”要运行......但在网上找不到太多文档如何做到这一点..

谢谢

4

0 回答 0