【问题标题】:Error in python-selenium bindings for chromedriverchromedriver的python-selenium绑定错误
【发布时间】:2012-06-27 06:30:05
【问题描述】:

通过查看here 帖子成功安装 chrome 驱动程序后,我正在尝试创建 chrome 驱动程序实例。 如帖子所示,我为 python 下载了chrome-driver 64-bit。我将chromedriver可执行文件移动到/usr/bin,并尝试了以下代码

 from selenium import webdriver
 driver = webdriver.Chromedriver()

结果

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)

/home/local/user/<ipython console> in <module>()

AttributeError: 'module' object has no attribute 'Chromedriver'

也尝试以下方法时

 from selenium import webdriver
 driver = webdriver.Firefox()

结果:

WebDriverException                        Traceback (most recent call last)

/home/local/<ipython console> in <module>()

/usr/lib/python2.7/site-packages/selenium-2.21.3-py2.7.egg/selenium/webdriver/firefox/webdriver.pyc in __init__(self, firefox_profile, firefox_binary, timeout)
     49         RemoteWebDriver.__init__(self,
     50             command_executor=ExtensionConnection("127.0.0.1", self.profile,
---> 51             self.binary, timeout),
     52             desired_capabilities=DesiredCapabilities.FIREFOX)
     53 

/usr/lib/python2.7/site-packages/selenium-2.21.3-py2.7.egg/selenium/webdriver/firefox/extension_connection.pyc in __init__(self, host, firefox_profile, firefox_binary, timeout)
     45         self.profile.add_extension()
     46 
---> 47         self.binary.launch_browser(self.profile)
     48         _URL = "http://%s:%d/hub" % (HOST, PORT)
     49         RemoteConnection.__init__(

/usr/lib/python2.7/site-packages/selenium-2.21.3-py2.7.egg/selenium/webdriver/firefox/firefox_binary.pyc in launch_browser(self, profile)
     42 
     43         self._start_from_profile_path(self.profile.path)
---> 44         self._wait_until_connectable()
     45 
     46     def kill(self):

/usr/lib/python2.7/site-packages/selenium-2.21.3-py2.7.egg/selenium/webdriver/firefox/firefox_binary.pyc in _wait_until_connectable(self)
     79                 raise WebDriverException("The browser appears to have exited "
     80                       "before we could connect. The output was: %s" %
---> 81                       self._get_firefox_output())
     82             if count == 30:
     83                 self.kill()

WebDriverException: Message: 'The browser appears to have exited before we could connect. The output was: *** LOG addons.xpi: startup\n*** LOG addons.xpi: checkForChanges\n*** LOG addons.xpi: Opening database\n*** LOG addons.xpi: No changes found\nFailed to dlopen /usr/lib/libX11.so.6\ndlerror says: /usr/lib/libX11.so.6: wrong ELF class: ELFCLASS32\n' 

我不知道这里发生了什么,以及为什么 chrome 和 firefox 网络驱动程序都不起作用。

【问题讨论】:

    标签: python selenium webdriver


    【解决方案1】:

    它的webdriver.Chrome() 不是 webdriver.Chromedriver()

    您可以通过将可执行文件的路径指定为参数来避免复制 /usr/bin ..etc 中的可执行文件

    webdriver.Chrome(executable_path='...')
    

    这样您就可以避免一个额外的步骤,并将驱动程序签入您的源代码控制目录等。

    【讨论】:

      猜你喜欢
      • 2018-06-10
      • 2013-02-16
      • 2017-02-09
      • 2016-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多