python selenium driver.quit() 如果设置 firefox_profile 则无法退出 firefox 浏览器
python selenium driver.quit() can not quit firefox browser if firefox_profile setted
这个问题让我很困惑。
我正在使用 python selenium 做一些自动工作。完成工作后,我需要关闭浏览器(我必须使用 firefox)。我知道 driver.close()
是关闭当前 window 和 driver.quit()
将关闭所有 windows 并退出浏览器。问题是:如果我使用 python file.py 到 运行 我的代码,它对我不起作用,但如果我设置driver in python console,这里不行就是说它只是关闭了我的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
- 壁虎驱动程序 0.18.0
虽然我们使用最新的 GeckoDriver v.0.18.0
和 Mozilla Firefox 53.0
使用 Selenium 3.5.0
,但由 WebDriver
实例启动的浏览器 window(s) 绑定到在 WebDriver
实例上调用 quit()
后,被摧毁(杀死)。
所以您看到的空白 window 可能是其他一些用户交互或悬空实例的结果。
推荐:
您可以考虑以下步骤来开始干净的测试执行:
- 运行
CCleaner
用于清除您之前执行的所有残留物的工具。
- 重新启动您的系统以在干净的 OS 环境中启动您的
Test Execution
。
- 保持
Test Environment
与其他 User Interactions
隔离。
这个问题让我很困惑。
我正在使用 python selenium 做一些自动工作。完成工作后,我需要关闭浏览器(我必须使用 firefox)。我知道 driver.close()
是关闭当前 window 和 driver.quit()
将关闭所有 windows 并退出浏览器。问题是:如果我使用 python file.py 到 运行 我的代码,它对我不起作用,但如果我设置driver in python console,这里不行就是说它只是关闭了我的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
- 壁虎驱动程序 0.18.0
虽然我们使用最新的 GeckoDriver v.0.18.0
和 Mozilla Firefox 53.0
使用 Selenium 3.5.0
,但由 WebDriver
实例启动的浏览器 window(s) 绑定到在 WebDriver
实例上调用 quit()
后,被摧毁(杀死)。
所以您看到的空白 window 可能是其他一些用户交互或悬空实例的结果。
推荐:
您可以考虑以下步骤来开始干净的测试执行:
- 运行
CCleaner
用于清除您之前执行的所有残留物的工具。 - 重新启动您的系统以在干净的 OS 环境中启动您的
Test Execution
。 - 保持
Test Environment
与其他User Interactions
隔离。