我的简单代码:
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()
,则无任何例外情况。我做错了什么?
其他一些信息:
PhantomJS v2.1
Selenium 3.0.2
Python 2.7.13
Ubuntu 16.04 64bit
PS:我还在click
之前尝试了send_keys
元素,但它没有任何区别。
答案 0 :(得分:0)
尝试还原为PhantomJS 1.9.8
使用PhantomJS 2.1.1时,我遇到了同样的错误,还原后为我解决了。