2016-03-16 32 views
1

几周前,我在Linux Mint(Ubuntu衍生产品)机器上安装了Selenium,并开发了一些Puthon废料脚本。 Everyhting工作正常。Python 3 Selenium NameError:name'basestring'未定义

现在,我试图复制安装在另一台机器上,也在Linux Mint下,我被卡住了。这就是我得到:

Python 3.4.3 (default, Oct 14 2015, 20:28:29) 
[GCC 4.8.4] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> from selenium import webdriver 
>>> l_driver = webdriver.Firefox() 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/local/lib/python3.4/dist-packages/selenium/webdriver/firefox/webdriver.py", line 62, in __init__ 
    firefox_options.binary_location = self.binary if isinstance(self.binary, basestring) else self.binary._get_firefox_start_cmd() 
NameError: name 'basestring' is not defined 

我装硒前完全相同的方式为:

sudo pip3 install -U Selenium 

安装似乎确定,并没有报告任何错误。以前,我用apt命令安装了pip3:

sudo apt-get install python3-pip 

也没有错误或问题。我用pip3安装了一些其他Python模块,它们都可以工作。

我的脚本都不会运行。他们都在我想打开Firefox WebDriver的第一行上失败。然而,在我的早期机器上,一切仍然正常,我的脚本像以前一样完美无瑕。

这是怎么回事?我错过了什么?这是一个Python 2与3的问题('basestring'的名称指向这种方式)?

回答

3

这是a bug在最新版本的硒(2.53.0)。

+0

谢谢。我疯了。 – fi11222

+0

是否有pip命令回溯到早期版本? – fi11222

+0

也许这将有助于:[用pip安装特定的软件包版本](http://stackoverflow.com/questions/5226311/installing-specific-package-versions-with-pip) – Igor