我创建了这个test.html
<!doctype html>
<html>
<head>
<title>test</title>
<script>
function inc() {
var counter = document.test.counter;
counter.value = parseInt(counter.value) + 1;
}
</script>
</head>
<body>
<form name="test">
<p>
<input type="text" value="0" name="counter" size="5">
<input type="button" id="increment" value="increment" onclick="inc();">
</p>
</form>
</body>
</html>
和test.py
import time
from os import path
from selenium import webdriver
driver = webdriver.Chrome()
driver.implicitly_wait(5)
driver.get(path.abspath("test.html"))
try:
n = 5
for i in range(n):
print("push %d / %d" % (i + 1, n))
driver.find_element_by_id("increment").click()
time.sleep(1)
except KeyboardInterrupt:
print("interrupted")
print("waiting")
time.sleep(5)
print("bye")
在同一目录中。
当我使用命令test.py
从命令提示符运行python test.py
时,
然后在打印"waiting"
之前按 Ctrl + C ,
通过Selenium打开的Google Chrome窗口已关闭。
在我的实际代码中,循环是从交互式Python控制台调用的,并运行不确定的时间。 我想触发键盘中断来中断循环,而不关闭Google Chrome浏览器窗口进行调查和开发。
该怎么存档?
我的环境:
系统提出了一个问题Selenium: Quit Python script without closing browser,但该问题对我似乎没有帮助,因为:
raw_input()
似乎正在等待用户输入。在启动键盘中断之前,我希望程序无需手动输入即可运行。