我正在尝试输入用户名和密码到一个表格中使用机械汤,它似乎一切正常,但输入后
response = browser.submit_selected()
print(response.text)它只是再次返回登录页面。
我在代码末尾尝试使用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()发布于 2020-02-08 02:22:10
此登录页面似乎使用了MechanicalSoup不支持的JavaScript。请参阅此FAQ。
最大的泄漏是<form id="loginForm" ...>没有action属性,如果有的话,它会告诉浏览器在非JavaScript上下文中将表单数据作为HTTP请求提交到哪里。
另一种判断页面需要JavaScript的方法是在浏览器中禁用它(例如,在Chrome中,您可以使用Chrome开发人员工具执行此操作),然后尝试登录。在禁用JavaScript的情况下浏览站点可能会让您深入了解其他登录方法,但可能的答案是您需要使用支持JavaScript的工具,比如Selenium。
https://stackoverflow.com/questions/60118748
复制相似问题