尝试使用Selenium和Python使用框架和Javascript的网页登录时出现ERR_TOO_MANY_REDIRECTS错误

问题描述 投票:1回答:1

我正在尝试自动登录网页以下载每日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)

但我得到一个空白页面说浏览器做了很多重定向,这意味着无法登录?我该如何登录?谢谢

javascript python selenium iframe web-scraping
1个回答
2
投票

ERR_TOO_MANY_REDIRECTS

ERR_TOO_MANY_REDIRECTS(也称为重定向循环)是常规网站错误之一。通常,此错误发生在最近更改您的网站,错误配置服务器上的重定向或使用第三方服务的错误设置之后。

此错误与Selenium无关,可通过手动步骤进行复制。

ERR_TOO_MANY_REDIRECTS的原因是,导致您的网站进入无限重定向循环的原因。本质上该网站被卡住(例如URL 1指向URL 2URL 2指向URL 1,或者域名已经重定向了你太多次)并且与其他一些错误不同,这些很少解决自己,可能需要你采取行动来修复它。根据您运行的浏览器,此错误有几种不同的变体。


检查和修复错误的一些常用方法如下:

  • Delete Cookies on That Specific Site:谷歌和Mozilla事实上都建议在错误下面对try clearing your cookies. Cookies有时包含错误的数据,其中可能导致ERR_TOO_MANY_REDIRECTS错误。即使您在不拥有的网站上遇到错误,也可以尝试这一建议。由于cookie保留了您在站点和其他设置上的登录状态,因此在这些情况下,只需删除出现问题的站点上的cookie。这样,您就不会影响您经常访问的任何其他会话或网站。
  • 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 ServicesERR_TOO_MANY_REDIRECTS通常也常常由反向代理服务引起,例如Cloudflare。这通常在启用灵活SSL选项并且您已经安装了WordPress主机的SSL证书时发生。为什么?因为,选择灵活时,对您的托管服务器的所有请求都通过HTTP发送。您的主机服务器很可能已经具有从HTTP到HTTPS的重定向,因此会发生重定向循环。
  • Check Redirects on Your Server:除了服务器上的HTTP到HTTPS重定向外,最好还是检查并确保没有任何其他重定向设置错误。例如,一个错误的301重定向回自身可能会占用您的网站。通常,这些都可以在服务器的配置文件中找到。
© www.soinside.com 2019 - 2024. All rights reserved.