我在Python 3.4中遇到了一个可能非常愚蠢的问题。每次我从代码初始化PhantomJS的实例,然后尝试获取用户输入。
browser = webdriver.PhantomJS() #nothing even loaded yet
login = input('Login: ')
---
Login: Traceback (most recent call last):
File "webdriver_and_input.py", line 10, in <module>
login = input('Login: ')
EOFError #no description here
即使我在行之间添加browser.quit()
,这根本不起作用。 browser
仍然由于某种原因向stdin发送了一个EOF(browser.quit()
并没有杀死进程本身,但这是一个不同的故事)
打开python shell时,在执行browser = webdriver.PhantomJS()
之后,shell本身的输入变得迟钝,例如,如果我尝试使用向上按钮滚动命令历史记录,我会得到类似
>>> browser = webdriver.PhantomJS()[[A[A
有人可以解释为什么会发生这种情况以及如何防止Selenium以这种方式篡改i / o操作?在Python 2.7中,raw_input
在同样的情况下没有问题。
我在Linux Mint 17.1上,Selenium是2.53.2,PhantomJS是2.1.1(通过npm安装)。