Python 3 Selenium NameError: name 'basestring' is not defined
几周前,我在LinuxMint(一款Ubuntu衍生产品)机器上安装了Selenium,并开发了一些puthon废弃脚本。每个人都工作得很好。
现在,我正试图在另一台机器上复制安装,也在linux mint下,我被卡住了。这就是我得到的:
1 2 3 4 5 6 7 8 9 10 | 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 |
我安装硒的方式与以前完全相同:
1 | sudo pip3 install -U Selenium |
安装似乎正常,没有报告任何错误。以前,我用apt命令安装了pip3:
1 | sudo apt-get install python3-pip |
也没有错误或问题。我用pip3安装了其他几个python模块,它们都可以工作。
我的脚本都不会运行。它们都会在我想打开一个firefox webdriver的第一行失败。然而,在我以前的机器上,一切仍然正常,我所有的脚本都像以前一样完美地运行。
怎么回事?我错过了什么?这是一个python 2对3的问题吗("basestring"名称就是这样指出的)?
这是最新版本的硒(2.53.0)中的一个缺陷。