2016-03-16 61 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