我正在使用Selenium和Webdriver验证网页或网址是否存在某些元素,例如下拉框。
但是我已经看到,在某个页面上着陆时,它会被重定向到另一个页面,并且在此之后还会有一个重定向 登陆这个最后一页后,我可以验证该元素是否存在。
现在我的问题是如果我使用webdriver打开一个URL,我如何计算在到达最终URL之前完成了多少次重定向。
URL上的重定向可以通过301或302响应代码,元刷新或Javascript重定向来实现。 我可以找到一个检查但不确定它是否处理所有重定向计数的代码。
HttpURLConnection con = (HttpURLConnection)(new URL( myURL ).openConnection());
((HttpURLConnection) con).setInstanceFollowRedirects( false );
con.connect();
int responseCode = ((HttpURLConnection) con).getResponseCode();
System.out.println("Original Url"+""+ myURL+responseCode);
int numberHops =0;
while (responseCode!=200)
{
String newUrl = con.getHeaderField("Location");
HttpURLConnection conn = (HttpURLConnection) new URL(newUrl).openConnection();
con.setInstanceFollowRedirects( false );
responseCode = conn.getResponseCode();
//System.out.println(newUrl + responseCode);
numberHops++;
System.out.println("location is" + newUrl);
System.out.println("number of Hoops before Reaching " +conn.getURL()+"is"+numberHops );
if(numberHops >2)
break;
}
这也是Java代码。有一种方法可以使用webdriver代码执行此操作,并涵盖计算重定向的所有三种可能方式。 如果没有,那么如何使用Java代码计算重定向的数量。
由于