【问题标题】:How to clean cache and cookies in Selenium using PhantomJS in Python?如何在 Python 中使用 PhantomJS 清理 Selenium 中的缓存和 cookie?
【发布时间】:2016-06-10 20:04:33
【问题描述】:

我在 Python 2.7 上使用 Selenium 和 PhantomJS Webdriver,我在文档中没有看到任何关于清理缓存的参考。有没有办法清理缓存和cookie?我在 PhantomJS 中看到了可以做到这一点的函数,但是如何在 Selenium 中使用它们呢?

【问题讨论】:

  • @franklin,该答案中没有关于硒的内容。正如我所说,我正在用 Python 2.7 编写程序并使用 Selenium Webdriver。
  • 这取决于您如何使用网络驱动程序。如果 webdriver 在测试之间启动,没关系,因为重新启动会自动清除 PhantomJS 的缓存。你想完成什么?
  • @franklin,我正在尝试测试由 js 生成的弹出窗口。它显示可用的火车票。问题是,有时我的测试不会返回正确数量的票。我自己数了数,并与测试结果进行了比较。我想,可能是因为缓存和cookies。
  • 我们需要看源码。我们需要了解您如何启动这些网络驱动程序请求。请参阅我上面的评论。如果您的驱动程序在查询之间被重置,缓存应该被自动清除。

标签: python python-2.7 selenium phantomjs


【解决方案1】:

试试这个:

driver.get("about:blank")
driver.delete_all_cookies()
driver.execute_script('localStorage.clear();')

我把 driver.get("about:blank") 放在那里,以防当前站点以意想不到的方式改变了 Javascript 环境。

您也可以直接销毁驱动程序并创建一个新驱动程序,但这可能会稍微降低效率(您必须在设置上对其进行测量才能确定)。

【讨论】:

  • 销毁驱动程序并创建一个新驱动程序对我有用,谢谢
猜你喜欢
  • 1970-01-01
  • 2018-10-31
  • 1970-01-01
  • 2017-07-16
  • 2015-07-16
  • 1970-01-01
  • 2018-03-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多