未将机械组数据输入表单

2024-10-01 02:39:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用mechanicalsoup在表单中输入用户名和密码,这一切似乎都正常工作,但在输入之后

response = browser.submit_selected()
print(response.text)

它只是再次返回登录页面

我尝试使用browser进行调试。在代码末尾启动_browser(),它只显示登录页面,用户名和密码字段中没有输入任何内容

我是否完全错过了我正在努力做的事情? 登录页面为:https://www.puregym.com/Login/ 我的代码如下:

import mechanicalsoup


browser.open("https://www.puregym.com/Login/")
browser.select_form('form[id="loginForm"]')


browser["email"] = "test@gmail.com"
browser["pin"] = "12345678"

response = browser.submit_selected()
browser.launch_browser()

Tags: 代码httpsbrowserformcom密码responsewww
1条回答
网友
1楼 · 发布于 2024-10-01 02:39:23

这个登录页面似乎使用了JavaScript,而MechanicalSoup不支持JavaScript。看这个FAQ

最大的缺点是<form id="loginForm" ...>没有action属性,如果它存在,它会告诉浏览器在非JavaScript上下文中以HTTP请求的形式提交表单数据的位置

另一种判断页面是否需要JavaScript的方法是在浏览器中禁用它(例如,在Chrome中,您可以使用Chrome开发工具进行此操作),然后尝试登录。在禁用JavaScript的情况下浏览站点可能会让您了解其他登录方法,但可能的答案是您需要使用支持JavaScript的工具,如Selenium

相关问题 更多 >