webdriver.PhantomJS将EOF发送到stdin

时间:2016-06-01 14:05:41

标签: python selenium-webdriver phantomjs

我在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安装)。

0 个答案:

没有答案