Python Selenium/PhantomJS:无法将_键发送到输入(TypeError-未定义不是函数)

Python Selenium/PhantomJS:无法将_键发送到输入(TypeError-未定义不是函数),python,selenium,phantomjs,Python,Selenium,Phantomjs,我的简单代码: from selenium import webdriver from time import sleep browser = webdriver.PhantomJS() # Maximized the window to make sure the element will be displayed browser.maximize_window() browser.get('https://banhang.shopee.vn/account/signin') # Dela

我的简单代码:

from selenium import webdriver
from time import sleep

browser = webdriver.PhantomJS()
# Maximized the window to make sure the element will be displayed
browser.maximize_window() 
browser.get('https://banhang.shopee.vn/account/signin')
# Delay a few seconds to allow all javascript to be loaded properly
sleep(5)
tag = browser.find_element_by_xpath('/html/body/div[2]/div/div[2]/div/div[4]/div/div/div/div/div[2]/form/div[1]/div[3]/input')
tag.send_keys('1234567890')
提出的例外情况是:

 File "/miniconda2/envs/flecom/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.py", line 347, in send_keys
    self._execute(Command.SEND_KEYS_TO_ELEMENT, {'value': keys_to_typing(value)})
  File "/miniconda2/envs/flecom/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.py", line 494, in _execute
    return self._parent.execute(command, params)
  File "/miniconda2/envs/flecom/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 236, in execute
    self.error_handler.check_response(response)
  File "/miniconda2/envs/flecom/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 163, in check_response
    raise exception_class(value)
WebDriverException: Message: TypeError - undefined is not a function (evaluating '_getTagName(currWindow).toLowerCase()')
如果我将
webdriver.PhantomJS()
更改为
webdriver.Chrome()
,则它可以正常工作。我做错了什么

其他一些信息:

  • PhantomJSV2.1

  • 硒3.0.2

  • Python 2.7.13

  • Ubuntu 16.04 64位


PS:我还尝试在
发送密钥之前
单击元素上的
,但没有任何区别。

尝试恢复到PhantomJS 1.9.8


我在使用PhantomJS 2.1.1时也遇到了同样的错误,并通过还原为我解决了这个问题。

也许可以添加一些
时间。睡眠
可以解决这个问题,请查看@Arman感谢您的关注,但是在
发送密钥之后添加
睡眠
没有帮助,因为在
发送密钥之后立即引发异常。另一方面,在
发送键
之前已经有了
睡眠