无法使用python中的无头浏览器提交表单/登录到Nike.com

克里斯托弗·W

我目前正在尝试使用python无头浏览器进行一些质量检查/表单提交,但我认为我的库无法提交/完成表单。我在这里做错了什么?

import mechanize
import cookielib

cj = cookielib.LWPCookieJar()

br = mechanize.Browser()
br.set_cookiejar(cj)
br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)

response1 = br.open("http://www.nike.com/us/en_us/")

assert br.viewing_html()
print br.title()
print response1.geturl()

html = response1.read()

for forms in br.forms():
    print forms

# Select the second (index one) form
br.select_form('login-form')

# User credentials
br.form['email'] = '[email protected]'
br.form['password'] = 'test-password'


br.submit

如果我尝试robobrowser,这是我的错误:

Traceback (most recent call last):
  File "/Users/cmw/PycharmProjects/Nike_Bot/nike_bot_py.py", line 44, in <module>
    browser.submit_form(signin_form)
  File "/Library/Python/2.7/site-packages/robobrowser/browser.py", line 341, in submit_form
    response = self.session.request(method, url, **payload.to_requests(method))
  File "/Library/Python/2.7/site-packages/requests/sessions.py", line 456, in request
    resp = self.send(prep, **send_kwargs)
  File "/Library/Python/2.7/site-packages/requests/sessions.py", line 553, in send
    adapter = self.get_adapter(url=request.url)
  File "/Library/Python/2.7/site-packages/requests/sessions.py", line 608, in get_adapter
    raise InvalidSchema("No connection adapters were found for '%s'" % url)
requests.exceptions.InvalidSchema: No connection adapters were found for 'javascript:void(0);'
安德鲁·约翰逊(Andrew Johnson)

您尝试访问的网站运行javascript提交表单:action="javascript:void(0);"您的mechanize库正在尝试模仿它,而实际上却无法理解javascript并失败。如果您仅使用POST提交表单内容,那么除非他们使用请求身份验证,否则这种方法可能会起作用,在这种情况下,您很不走运。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在不使用无头浏览器(例如硒)的情况下登录morningstar.com?

无法下载无头Chrome浏览器中的文件

使用请求以Python登录到Chess.com

我无法ping microsoft.com,但可以使用浏览器打开它

如何使用无头浏览器运行Selenium Python

使用硒登录到TradingView.com

如何从浏览器中删除delta-homes.com?

使用Selenium Python客户端在不同的浏览器中处理无头模式

无法从勇敢的浏览器登录到 Atlassian Bitbucket

使用Selenium登录到stackoverflow可以,但是不能使用scrapy python。我如何通过无头浏览登录?

为什么我不能从浏览器登录页面到Gitlab.com?

无法使用三种不同的浏览器从download.microsoft.com手动下载更新

Python Selenium:浏览器无头时无法通过xpath查找元素

为什么使用selenium无法通过无头浏览器获取页面源?

无法使用无头Chrome浏览器找到网页上的元素

SSO:使用Outlook.com帐户登录到Azure AD

Parse.com云代码:无法保存数据浏览器对象

在Selenium中将PhantomJS用于无头浏览器-Python

在无头浏览器(PhantomJS)中异步打开页面

如何使用无头浏览器运行测试?

使用Chrome无头浏览器获取渲染字体

如何使用Selenium和Python在https://www.nike.com/register中填写电子邮件地址字段

如何使用Python使用urllib2登录到网站,然后打开浏览器页面至已登录的网站?

Azure中的无头浏览器可以使用JavaScript?

如何使用phantomjs无头浏览器处理硒中的警报

请通过您的网络浏览器登录:https://support.google.com/mail/accounts/answer/78754(失败)

在Chrome浏览器中无法在新标签页中提交多个表单

为Intellisense /对象浏览器等记录COM对象

为什么浏览器URL不能以.com结尾?