我正在尝试自动登录网页以下载每日 xml。我知道我需要有我认为的实际框架网址
http://shop.braintrust.gr/shop/store/customerauthenticateform.asp
我检查表单和字段,然后执行以下操作
browser = webdriver.Chrome('C:\\chromedriver.exe')
browser.get('http://shop.braintrust.gr/shop/store/customerauthenticateform.asp')
print('Browser Opened')
username = browser.find_element_by_name('UserID')
username.send_keys(email)
password = browser.find_element_by_name('password')
# time.sleep(2)
password.send_keys(pwd)
但是我得到一个空白页面,说浏览器做了很多重定向,这意味着无法登录? 我怎样才能登录? 谢谢
最佳答案
ERR_TOO_MANY_REDIRECTS
ERR_TOO_MANY_REDIRECTS (也称为重定向循环)是常见的网站错误之一。通常,此错误是在您的网站最近发生更改、服务器上的重定向配置错误或第三方服务设置错误之后发生的。
此错误与 Selenium 本身没有关系,可以通过手动步骤重现。
ERR_TOO_MANY_REDIRECTS
的原因是,某些原因导致您的网站进入无限重定向循环。本质上,该网站已被卡住(例如 URL 1
指向 URL 2
,而 URL 2
又指向 URL 1
,或者域已重定向您太多次),并且与其他一些错误不同,这些错误很少会自行解决,并且可能需要您采取措施来修复它。根据您运行的浏览器,此错误有几种不同的变体。
解决方案
检查和修复错误的一些常见方法如下:
- Delete Cookies on That Specific Site :事实上,Google 和 Mozilla 都建议在错误下方
尝试清除您的 Cookie。
Cookie 有时可能包含错误数据,从而可能导致 ERR_TOO_MANY_REDIRECTS 错误。即使您在不属于您的网站上遇到错误,您也可以尝试此建议。由于 Cookie 会保留您在网站和其他设置上的登录状态,在这些情况下,只需删除出现问题的网站上的 Cookie 即可。这样您就不会影响您经常访问的任何其他 session 或网站。 - Clear Browser Cache :如果您想检查是否是您的浏览器缓存,在不清除缓存的情况下,您可以随时以隐身模式打开浏览器。或者测试其他浏览器,看看是否仍然看到
ERR_TOO_MANY_REDIRECTS
错误。 - Determine Nature of Redirect Loop :如果清除缓存不起作用,那么您需要看看是否可以确定重定向循环的性质。例如,如果某个站点有一个返回自身的 301 重定向环路,这会导致大量错误重定向。您可以跟踪所有重定向并确定其是否循环回自身,或者可能是 HTTP 到 HTTPS 循环。
- Check Your HTTPS Settings :另一件事要检查的是您的 HTTPS 设置。很多时候,当某人刚刚将其 WordPress 网站迁移到 HTTPS 并且未完成或设置不正确时,就会出现
ERR_TOO_MANY_REDIRECTS
。 - Check Third-Party Services :
ERR_TOO_MANY_REDIRECTS
通常也通常是由 Cloudflare 等反向代理服务引起的。当启用灵活 SSL 选项并且您已经随 WordPress 主机安装了 SSL 证书时,通常会发生这种情况。为什么?因为,当选择灵活时,所有到托管服务器的请求都通过 HTTP 发送。您的主机服务器很可能已经有从 HTTP 到 HTTPS 的重定向,因此会发生重定向循环。 - Check Redirects on Your Server :除了服务器上的 HTTP 到 HTTPS 重定向之外,最好检查并确保没有任何其他重定向设置错误。例如,一个错误的 301 重定向可能会导致您的网站瘫痪。通常,这些可以在服务器的配置文件中找到。
关于javascript - 尝试使用 Selenium 和 Python 通过使用框架和 Javascript 的网页登录时出现 ERR_TOO_MANY_REDIRECTS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55395181/