微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

升级 selenium 3.3.0 后报错解决办法

升级 selenium 3.3.0 后报错解决办法

sudo pip install --upgrade selenium
In [4]: import selenium
In [5]: selenium.version
Out[5]: '3.3.0'

执行测试时报错如下:

swot@pp:~/pp/superlists$ python manage.py test functional_tests.tests.NewVisitorTest.test_layout_and_styling
Creating test database for alias 'default'...
E
======================================================================
ERROR: test_layout_and_styling (functional_tests.tests.NewVisitorTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File /home/swot/pp/superlists/functional_tests/tests.py, line 123, in test_layout_and_styling
    inputBox.location.get('x') + inputBox.size['width']/2,
  File /usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webelement.py, line 403, in location
    new_loc = {x: round(old_loc['x']),
TypeError: 'nonetype' object has no attribute 'getitem'
----------------------------------------------------------------------
Ran 1 test in 4.378s
Failed (errors=1)
Destroying test database for alias 'default'...

原因是:Selenium 3.3.0 requires geckodriver 0.15 due to changes in command response values

wget https://github.com/mozilla/geckodriver/releases/download/v0.15.0/geckodriver-v0.15.0-linux64.tar.gz
tar xzvf geckodriver-v0.14.0-linux64.tar.gz
sudo cp geckodriver /usr/local/bin
python manage.py test functional_tests.tests.NewVisitorTest.test_layout_and_styling
Creating test database for alias 'default'...
.
----------------------------------------------------------------------
Ran 1 test in 5.307s
OK
Destroying test database for alias 'default'...

参考官网说明:

94a1024.png

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。