如何访问网页并选中 html 复选框

如何访问网页并选中 html 复选框

在我常去的咖啡厅,当您选中登陆页面中的复选框(接受 TOS)后,强制门户就会授予 wifi 访问权限。如果我没有在那里待上几个小时,并且他们没有每 15 分钟或 100 MB 一遍又一遍地询问,那就不成问题了。

我可以自动化连接 Bash、Perl、Python 或 Ubuntu 上常见的任何其他资源的过程吗?

Html 片段如下:

<form action="http://1.1.1.1/reg.php" method="post" name="form2">
<input name="url" value="2EB8F3587D88E953591ABBE4833943D6C1241D2842D3D2FC83D98ED1D0613DC1BFFB8380" type="hidden">
      <center>
        <p><img src="logo_main.jpg" align="absmiddle" height="125" width="134"> 
        </p>
        <p> 
          <input name="checkbox" id="checkbox" value="checkbox" type="hidden">
          <input checked="checked" name="checkbox2" value="checkbox" onchange="evalue(this);" type="checkbox">
          <font face="Georgia, Times New Roman, Times, serif">I accept the <a href="http://1.1.1.1/tos.htm" target="_top">Terms and Conditions</a></font> 
        </p>
        <p>
          <input name="Submit" value="Enter" id="button1" type="submit">
      </p></center>
</form>

答案1

我假设url这里的值是某种会话密钥,与字段名称所暗示的不同。您可以尝试使用例如来获取它sed

wget -qO- http://… | sed -n 's/<input name="url" value="\([^"]\+\)" type="hidden">/\1/p'

然后使用它,您可以使用 自行构建请求curl。进入 Chrome 开发人员工具可能会有所帮助,您可以在其中右键单击请求以将其副本作为curl命令行获取。

或者,您可以使用 Selenium。使用 Selenium for Python 代码将如下所示:

driver.find_element_by_name('checkbox2').click()
driver.find_element_by_id('button1').click()

相关内容