Selenium:关闭浏览器而不退出Python脚本

7

我使用以下代码来处理当用户使用 Ctrl + C 终止正在运行的 Python 脚本时的情况。

except KeyboardInterrupt:
    print "ABORTED"

然而,这也会终止我的Selenium WebDriver浏览器。

有没有一种方法可以终止脚本但保持浏览器处于活动状态,以便我可以继续使用它?

通常我会使用Ctrl + Z暂停脚本。不幸的是,这经常导致浏览器冻结并无响应。


所以,不要调用 driver.quit() 对吧? - Chris Hawkes
1
@ChrisHawkes,我认为OP没有使用driver.quit()。无论是否调用driver.quit()sys.exit()都会关闭浏览器会话。 - Andersson
1
@Andersson 确实如此,尽管我认为如果 sys.exit() 在其中也无关紧要,因为 Ctrl+C 会使所有内容退出。 - P A N
只需不调用 driver.quit() 或 sys.exit()。 - Chris Hawkes
1个回答

5
您可以使用quit()方法替换CTRL+C+sys.exit()来终止Python脚本而不关闭浏览器会话。只需使用以下格式:
user_choice = raw_input('Please click ENTER button to close application')
if not user_choice:
    print "ABORTED"
    quit()

为什么你使用 ctrl+C?这是你结束脚本的必要方式吗? - Andersson
好吧,我想使用Ctrl+C并不是必须的。如果在脚本运行期间可以拦截到另一个按键,则可以避免这个问题。 - P A N
您可以通过按下“Enter”键来关闭它。请查看更新后的答案。 - Andersson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接