在Selenium中,我可以在没有实际导航的情况下访问最后访问的URL吗?

时间:2017-05-02 18:58:42

标签: c# selenium selenium-webdriver

我知道我可以使用 IWebDriver.Navigate()。Back()方法向后浏览我的历史记录,但如果我只需要访问的最后一页的网址该怎么办? ?有没有办法从WebDriver中获取它,而不实际导航到那里?

很明显,这是关于Selenium WebDriver的问题,与JavaScript无关。

2 个答案:

答案 0 :(得分:0)

您可以将上一页网址保留在变量中,并将其更新/传递给需要它的实际代码。即使保留所有访问过的URL的集合并只获取最后一项,所有这些都将为您提供历史记录,而无需JS hacks。存储和共享状态是一个有效的案例,已在某些框架中实现,如SpecFlow的ScenarioContext。并且每个测试的所有步骤/代码都可以使用上一页URL值。

答案 1 :(得分:0)

正如一些人所建议的那样,我最终做的是将Selenium WebDriver包装在我自己的类中,该类监视所有导航,并保留自己的历史记录。这似乎是一种冗余,因为在WebDriver深处的某个地方已经存在另一个历史,但由于测试人员无法访问它,我认为没有其他方法可以实现这一目标。

感谢所有提出意见和建议的人!