【问题标题】:Selenium saving browser historySelenium 保存浏览器历史记录
【发布时间】:2015-05-17 13:50:13
【问题描述】:

我正在使用 Firefox 网络驱动程序,我需要它来保存浏览网站的历史记录。我不需要对历史记录做任何事情,我只需要在我打开历史记录页面时它就在那里。

如果有其他网络驱动程序的解决方案也可以接受,但我更喜欢 Firefox 的解决方案。

我的第一个想法是制作自定义配置文件,但 Selenium 不适用于自定义配置文件,它只是根据自定义配置文件创建一个新的临时配置文件。

我也去寻找临时配置文件,但找不到。 (Windows 7) 我曾希望有一种方法可以复制临时数据并将其放在不同的配置文件中。在关闭每个会话之前,我会将历史记录添加到该配置文件中。

我的脚本应该像普通用户一样浏览计算机。它使用 Python 和 Selenium 自行浏览计算机和互联网。使用临时配置文件不是“正常的用户行为”。

我发现有些人问同样的问题,他们都接受了不同的方式来做他们想做的事,但没有一个人能做我需要的。

【问题讨论】:

    标签: selenium selenium-webdriver selenium-firefoxdriver


    【解决方案1】:

    使用 firefox 配置文件管理器创建单独的 firefox 配置文件(win+R 并调用“firefox -p”) 并在您的 selenium 项目中使用此配置文件启动 firefox 驱动程序

    ProfilesIni profile = new ProfilesIni();
    
    FirefoxProfile myprofile = profile.getProfile("profileToolsQA");
    
    WebDriver driver = new FirefoxDriver(myprofile);
    

    profileToolsQA 是您在 Firefox 配置文件管理器中创建的配置文件

    您可以在这里找到更详细的手册:http://www.toolsqa.com/selenium-webdriver/custom-firefox-profile/

    【讨论】:

    • 我已经尝试过了,但是 Selenium 使用此配置文件的设置并创建一个临时配置文件,而不是实际使用此配置文件。
    • @esoleco,你误会了:你需要在浏览器启动之前附加配置文件。用代码更新了我的解决方案
    • @Andrew You answer 展示了如何告诉 Selenium 使用特定的配置文件。但是,Selenium 会获取您提供给它的配置文件,然后它会在启动 Firefox 之前将此配置文件复制到别处,使用此复制的配置文件,然后删除复制的profile 完成运行后。这显然 不是 OP 想要的。
    • @Andrew 这正是路易斯所说的。我知道如何使用自定义配置文件,并且我确实使用了一个。但是 Selenium 的工作原理就像 Louis 解释的那样;退出浏览器后删除所有数据。
    • 路易斯:不,不是。在这里查看第一个也是最好的评论/解决方案:stackoverflow.com/questions/6787095/…。由于这句话,在这种情况下它不会创建任何临时配置文件副本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-27
    • 1970-01-01
    • 2015-06-14
    • 1970-01-01
    • 2011-11-14
    • 2013-05-21
    • 2011-02-04
    相关资源
    最近更新 更多