Mechanicalsoup 数据未输入表单

Mechanicalsoup data not being entered into a form

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

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

又是returns登录页面。

我尝试在代码末尾使用 browser.launch_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()

看起来这个登录页面使用 JavaScript,MechanicalSoup 不支持。看到这个 FAQ.

最大的赠品是 <form id="loginForm" ...> 没有 action 属性,如果存在,它将告诉浏览器在非 [=] 中将表单数据作为 HTTP 请求提交到哪里21=]上下文。

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