保存并加载selenium的浏览器历史记录

时间:2014-03-14 20:05:15

标签: python selenium browser-history

使用Selenium Webdriver for Python,是否可以保存会话的浏览器历史记录并在以后的会话中重新加载历史记录?我知道如果cookie与当前域匹配,可以保存和重新加载,但我尝试使用不同类型的配置文件测试网站。感谢。

1 个答案:

答案 0 :(得分:1)

没有那么多你能做到的。首先,selenium webdriver API为您提供了导航历史记录的forward()back()方法(documentation)。

DOM window对象可以帮助您,因为它提供对history对象的访问权限,但由于安全原因:you cannot push history items from outside of domain of the current page

另见:

但是,如果您的所有网址都位于同一个域中,则可以使用history.pushState()方法,例如:

from selenium.webdriver.firefox import webdriver


WIKI_PAGE = 'How_I_Met_Your_Mother'

driver = webdriver.WebDriver()
driver.get('https://en.wikipedia.org/wiki')

script = 'history.pushState({}, "", "%s")' % WIKI_PAGE
driver.execute_script(script)

driver.get('https://en.wikipedia.org/wiki')

这里,在Firefox浏览器中打开维基百科主页面,然后插入历史项目,然后再次打开主页面。如果您在浏览器窗口中点击Back,您就会得到"我如何认识您的母亲"维基百科页面。

希望有所帮助。