【问题标题】:python selenium driver.quit() can not quit firefox browser if firefox_profile setted如果设置了 firefox_profile,python selenium driver.quit() 无法退出 firefox 浏览器
【发布时间】:2018-01-24 03:47:41
【问题描述】:

这个问题真的让我很困惑。 我正在使用 python selenium 做一些自动工作。工作完成后,我需要关闭浏览器(我必须使用 firefox)。我知道driver.close() 将关闭当前窗口,driver.quit() 将关闭所有窗口并退出浏览器。问题是:如果我使用 python file.py 来运行我的代码,它对我不起作用,但如果我在 python 控制台 中设置驱动程序,这里就可以了不行就是说它只是关闭了我的url,但是firefox浏览器没有退出。以上所有测试都设置了firefox_profile。 更多,我发现如果我不设置 firefox_profile 运行我的代码的第一种方式也可以工作。我认为这可能是 firefox_profile 的错误。希望有人能拯救我的一天。 我的代码就像:

profile = webdriver.FirefoxProfile()
profile.set_preference('browser.download.folderList', 2)  # custom location
profile.set_preference('browser.download.manager.showWhenStarting', False)
profile.set_preference('browser.download.dir', download_dir)
profile.set_preference(
    'browser.helperApps.neverAsk.saveToDisk', 'application/octet-stream')
driver = webdriver.Firefox(
    executable_path=gecko_dir, firefox_profile=profile)
driver.get(someurl)
driver.quit()# which will close my session, my url, my current window but not exit browser

我正在使用的版本:

  • python 3.5.3
  • 硒 3.4.3
  • 火狐 55.0.1
  • geckodriver 0.18.0

【问题讨论】:

  • just close my url, but the firefox browser not exit 到底是什么意思? Firefox 浏览器和 WebDriver 实例是否正常关闭?
  • 在 driver.quit() 完成后,我的浏览器无法退出,它仍然保持一个窗口打开,这是一个空白窗口 - 一个“新标签”没有其他东西。清楚吗?
  • 一旦你调用driver.quit(),由webdriver实例启动的浏览器窗口必然会被关闭(杀死)。所以blank window 可能是其他一些用户交互的结果。您是否在使用最新的 GeckoDriver v.0.18.0 和 Mozilla Firefox 53.0 的 Selenium 3.5.0?
  • 正如我刚才补充的,我的selenium 3.4.3版本和geckodriver和firefox都是最新版本。没有其他的插曲。问题依然存在
  • 您可以关闭所有应用程序并重新启动系统并简单地执行您的脚本吗?

标签: python selenium firefox firefox-profile


【解决方案1】:

虽然我们使用Selenium 3.5.0 和最新的GeckoDriver v.0.18.0Mozilla Firefox 53.0,但一旦您使用WebDriver 实例启动的浏览器窗口必然会被销毁(杀死)WebDriver 实例上调用quit()

因此,您看到的空白窗口可能是其他用户交互或悬空实例的结果。

建议:

您可以考虑以下步骤来开始一个干净的测试执行:

  1. 运行CCleaner 工具以清除之前执行的所有残留物。
  2. 重新启动系统以在干净的操作系统环境中启动 Test Execution
  3. 保持Test Environment 与其他User Interactions 隔离。

【讨论】:

    猜你喜欢
    • 2023-01-07
    • 1970-01-01
    • 2018-10-04
    • 2017-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    相关资源
    最近更新 更多