python - 使用 python-mechanize 找不到表单名称
问题描述
我刚开始玩python。最近我偶然发现了网络抓取,我认为制作 Kahoot ( https://kahoot.it/ ) 机器人并不难。你可能知道也可能不知道我在说什么。现在这不重要了。我需要创建一个程序来填写游戏 ID,然后填写昵称,但是当我尝试运行该程序时出现错误。
mechanize._mechanize.FormNotFoundError:没有匹配名称“gameId”的表单
import re
import config
from mechanize import Browser
br = Browser()
br.set_handle_robots(False)
br.addheaders = [('User-agent', 'Firefox')]
br.open ("https://kahoot.it/")
br.select_form('gameId')
br.form['game-pin-input'] = '6105440'
这是表格。
<form action="#">
<input name="gameId" type="tel" placeholder="Game PIN" id="game-input" data-functional-selector="game-pin-input" class="sc-dlfnbm lflLbn" autocomplete="off" value="" aria-expanded="false">
<button type="submit" value="Submit" class="enter-button__EnterButton-sc-1o9b9va-0 kfzgPK" data-functional-selector="join-game-pin">Enter</button>
</form>
我什至尝试使用脚本查找表单名称,但没有得到回报。
import os, subprocess
import re
import mechanize
from bs4 import BeautifulSoup
br = mechanize.Browser()
br.set_handle_robots(False)
br.addheaders = [('User-agent', 'Firefox')]
br.open ("https://kahoot.it/")
for form in br.forms():
print (form.name)
请记住,这是我第一次处理 html,而且我没有任何经验。谢谢你。
解决方案
推荐阅读
- php - 用长或复杂的形式在 PHP 中执行 POST 查询的最佳方法?
- python - 绘制很多点让我的电脑死机
- python - 如何在 python 电子邮件模块发送的表格中添加垂直滚动条?
- python - 改变神经网络中 Sigmoid 激活的阈值
- c++ - 成员不可访问 C++
- laravel - 我需要在 laravel teelscope 之后迁移
- java - 如何通过将所有路径作为参数传递来获取 JSON 字段
- ios - 集合视图显示 cellForItemAt 中的单元格数量较少
- vb.net - 现有处理程序“未找到”
- docker - Helm 中 Kubernetes 上的 Jenkins - 如何将 ssh 密钥附加到代理