Javascript 使用selenium从window.location获取url

Javascript 使用selenium从window.location获取url,javascript,selenium,webdriver,selenium-webdriver,Javascript,Selenium,Webdriver,Selenium Webdriver,有人知道如何在javascript窗口之间获取url吗。location.href=“url” 在java中使用seleniumhq web驱动程序 想象一下这样的流动 链接页面>第2页>第3页>最后一页 “链接页面”具有以下链接: 然后Selenium用如下方式单击link元素: webElement.click() Page 2执行窗口。location.href=“Page 3”,然后执行Page 3 将重定向发送到最终页面 是否可以从第3页甚至历史导航中获取url。可以设置这样的代理并从

有人知道如何在javascript窗口之间获取url吗。location.href=“url” 在java中使用seleniumhq web驱动程序

想象一下这样的流动

链接页面>第2页>第3页>最后一页

“链接页面”
具有以下链接:

然后Selenium用如下方式单击link元素:

webElement.click()

Page 2
执行窗口。location.href=“Page 3”,然后执行
Page 3
将重定向发送到
最终页面


是否可以从
第3页
甚至历史导航中获取
url
。可以设置这样的代理并从代码中控制它。您没有指定用于编写测试的语言。如果是Java,那么可能会有帮助。如果是C#看看

字符串url=selenium.getLocation()

System.out.println(url)


selenium webdriver(Java)中最简单的方法:

您还可以在selenium中进行javascript调用:

JavascriptExecutor js = (JavascriptExecutor) driver;
String browserUrl = (String) js.executeScript("return window.top.location.href.toString()");
System.out.println("Your browser URL is " + browserUrl);

我非常怀疑,因为JavaScript甚至不能告诉你历史上的页面,只是长度。你想在这里做什么?为什么不在链接页面上存储URL,并在第3步中使用它直接导航到。(我很确定我把你的问题搞错了。)也许Newbie第3页的url是动态变化的,只有第2页知道链接,但我无法理解这与真实的用户流有什么关系?你网站上的用户会返回并获得链接,然后使用地址栏导航到该链接吗?你能解释一下你为什么要这么做吗?也许有更好的解决办法:)我同意@perlnewbie。。。用户不关心重定向。他们关心他们在哪里,他们要去哪里。我能想到的唯一原因是网站/web应用程序是否从中间页面获取会话信息。。或者设置一个隐藏字段。出于某种原因,你需要这个值。
JavascriptExecutor js = (JavascriptExecutor) driver;
String browserUrl = (String) js.executeScript("return window.top.location.href.toString()");
System.out.println("Your browser URL is " + browserUrl);