我正在尝试验证 iframe 中的页面重定向是否正常工作。理想情况下,请求从我的服务器发送到我们的网关服务器,然后重定向到外部页面。但是,由于我的页面处理权限的方式,验证此操作是否成功的最佳方法是确认重定向已发生并且重定向到正确的 URL。
使用 Robot/Selenium 自动化,有没有办法获取重定向 URL 和状态代码,以便将它们与预期值进行比较?关于这是否可能,我看到了不同的答案。
javascript 导航器对象似乎可以解决这个问题,但我不确定如何在自动化上下文中使用它来检索重定向 URL。
如有任何建议,我们将不胜感激。
最佳答案
由于这是用 Selenium 和 Python 标记的,Selenium Python 绑定(bind)允许您通过以下方式获取当前 url:
driver.current_url
您可以使用它来验证您要查找的 URL,以验证重定向是否解析到正确的页面/URL。根据您正在测试的涉及 iframe 的内容和不涉及 iframe 的内容的复杂性,Selenium 可能有点过分了。
如果您正在寻找更通用的答案来解决一般测试重定向的问题,我建议您考虑使用请求,因为它们提供了一种处理重定向并为您提供重定向历史记录的好方法。
您可以在此处查看请求: http://docs.python-requests.org/en/latest/user/quickstart/#redirection-and-history
我最终通过这个堆栈线程找到了它: Python follow redirects and then download the page?
关于javascript - 您可以通过 python 或 javascript 使用机器人自动化从页面检索重定向 URL 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21488131/