如何在Selenium中捕获JS重定向?

时间:2014-06-24 16:09:36

标签: selenium

有没有办法捕获JS中执行的页面上的所有重定向?例如,让我们看看这个使用window.location进行重定向的网页

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Redirect JS</title>
</head>
<body>
    <script>
        window.location = "http://www.example.com";
    </script>
</body>
</html>

或元标记

<meta http-equiv="refresh" content="0; url=http://example.com/">

我想渲染网页并获取用户重定向的所有网址。可能吗?如何在硒中做到这一点?

2 个答案:

答案 0 :(得分:1)

在Python中:http://selenium-python.readthedocs.org/en/latest/api.html:webdriver具有属性 current_url 。在你的driver.get()页面之后,我认为current_url是重定向的URL。不是吗?

答案 1 :(得分:1)

您在“Selenium”中的要求将使这变得不可能。 Selenium作为人类将与浏览器进行交互 - 人们通常不应该知道或关心所有重定向。如果您愿意为此目的放弃Selenium,那么有一些库,例如HttpBuilder(在Java世界中)和许多其他语言(对于其他语言),它们允许您操作和监视HTTP流量,这就是您在此之后的情况。