SyntaxError:centos6.8中的python2和selenium语法无效

问题描述 投票:1回答:1

我运行python脚本:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from selenium import webdriver
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.common.keys import Keys
# from pyvirtualdisplay import Display

profile = Options()
profile.headless = True
profile.add_argument('-width=800')
profile.add_argument('-height=600')

# display = Display(visible=0, size=(800, 600))
# display.start()

driver = webdriver.Firefox(options=profile, executable_path='./geckodriver')

driver.get('http://192.168.1.3')
elem = driver.find_element_by_id('sitename').text
print(elem)
driver.quit()

我尝试使用pyvirtualdisplay运行脚本,但错误仍在这里。

Traceback (most recent call last):
  File "script.py", line 4, in <module>
    from selenium import webdriver
  File "/opt/pyscript/venv/env_selenium/lib/python2.6/site-packages/selenium/webdriver/__init__.py", line 18, in <module>
    from .firefox.webdriver import WebDriver as Firefox  # noqa
  File "/opt/pyscript/venv/env_selenium/lib/python2.6/site-packages/selenium/webdriver/firefox/webdriver.py", line 29, in <module>
    from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver
  File "/opt/pyscript/venv/env_selenium/lib/python2.6/site-packages/selenium/webdriver/remote/webdriver.py", line 1115
    return {k: size[k] for k in ('width', 'height')}
                         ^
SyntaxError: invalid syntax

我也在CentOS中安装了fontconfig freetype freetype-devel fontconfig-devel libstdc ++。我尝试使用浏览器phantomjs运行,此问题仍然存在。版本:CentOS 6.8,python 2.6.6,硒PyVirtualDisplay 0.2.5,硒3.141.0我该如何解决这个问题?

python selenium selenium-webdriver python-2.6 centos6.8
1个回答
1
投票

[Selenium和Python2.6之间在字典理解方面不兼容,这就是这一行。

return {k: size[k] for k in ('width', 'height')}

该问题已在前一段时间报告,并已关闭here。而且,Python 2已经到了使用寿命,因此如果没有支持来解决您所面临的问题,这应该是升级到Python 3.x的强烈动机。

不理想的替代品-降级硒。

© www.soinside.com 2019 - 2024. All rights reserved.