【问题标题】:Selenium Webdriver Setup ErrorSelenium Webdriver 设置错误
【发布时间】:2018-01-06 23:29:12
【问题描述】:

我想做的第一件事是在 Windows 中安装 Selenium。

所以用pip install selenium 安装了Selenium 并尝试用

from selenium import webdriver

但我得到了错误

Traceback(最近一次调用最后一次): 文件“C:\Users\admin\AppData\Local\Programs\Python\Python36-32\seltest.py”,第 1 行,在 从硒导入网络驱动程序 ModuleNotFoundError: 没有名为“selenium”的模块

所以我在 VirtualBox(Kali Linux,Debian 64)中创建了一个 VM,并尝试在那里安装 Selenium。

它工作得很好,但后来我遇到了 webdriver 的问题。

我选择了 Firefox Geckodriver (geckodriver-v0.18.0-linux32.tar.gz at https://github.com/mozilla/geckodriver/releases)

我将它放到一个名为“Selenium”的文件夹(/root/Desktop/Selenium)中,并将以下脚本放入其中:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox("/root/Desktop/Selenium/")
driver.get("http://www.python.org")

得到了错误:

root@kali:~/Desktop/Selenium# python main.py
Traceback (most recent call last):
  File "main.py", line 4, in <module>
    driver = webdriver.Firefox("/root/Desktop/Selenium/")
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 152, in __init__
    keep_alive=True)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 98, in __init__
    self.start_session(desired_capabilities, browser_profile)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 188, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 256, in execute
    self.error_handler.check_response(response)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: Unable to find a matching set of capabilities

这里也是webdriver的属性截图: http://imgur.com/a/xdKHw

【问题讨论】:

  • 看起来你在混合python版本,在windows上看起来你使用的是3.6,而在linux上你使用的是2.7,看起来你已经尝试在linux上使用windows webdriver(这不起作用)
  • 您可能在 Windows 上安装了多个版本的 python,并且您在与您尝试使用的版本不同的版本上安装了 selenium。
  • 现在一切就绪:DDD
  • 我下载了最新的 python 版本并得到与 windows 相同的错误,没有名为 selenium 的模块:D 如何解决这个问题 :) @JamesKent
  • 看看我的回答,希望对您有所帮助。

标签: python selenium selenium-webdriver


【解决方案1】:

好的,要让它工作,你需要几件事:

  1. 你打算使用的python版本(没关系,只要你知道版本
  2. selenium python 模块的安装
  3. 合适的 webdriver 二进制文件

所以假设您已经拥有第 1 项,我们需要获得第 2 项。
在窗户上:

cd c:\python36\scripts
pip install selenium

其中 36 表示 python 3.6,所以用这个替换你正在使用的版本。

在 linux 上用于 python2.x:

pip install selenium

在 linux 上用于 python3.x:

pip3 install selenium

最后要获得第三项,我们需要下载与操作系统匹配的网络驱动程序。
所以从这里开始:https://github.com/mozilla/geckodriver/releases
在 Windows 上,我们需要 win32 版本(32 位窗口)或 win64 版本(64 位窗口)

在 linux 上,我们需要 linux32 版本(32 位 linux)或 linux64 版本(64 位 linux)

【讨论】:

  • hm,我找不到路径 python36 但我安装了 python 3.6(python3 -v 说 3.6)
猜你喜欢
  • 1970-01-01
  • 2012-10-01
  • 1970-01-01
  • 2015-08-26
  • 2017-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-29
相关资源
最近更新 更多