在PyCharm上无法运行简单的WebDriver - Mac

6 浏览
0 Comments

在PyCharm上无法运行简单的WebDriver - Mac

我在我的Mac上安装了PyCharm(Python 3.6)+ Selenium(3.8)。

尝试运行以下代码:

from selenium import webdriver
driver=webdriver.Firefox()

我收到错误消息:

/Users/ronavaida/PycharmProjects/untitled/venv/bin/python /Users/ronavaida/PycharmProjects/untitled/testselenium.py
Traceback (most recent call last):
  File "/Users/ronavaida/PycharmProjects/untitled/testselenium.py", line 3, in 
    driver=webdriver.Firefox()
  File "/Users/ronavaida/PycharmProjects/untitled/venv/lib/python3.6/site-packages/selenium/webdriver/firefox/webdriver.py", line 158, in __init__
    keep_alive=True)
  File "/Users/ronavaida/PycharmProjects/untitled/venv/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 154, in __init__
    self.start_session(desired_capabilities, browser_profile)
  File "/Users/ronavaida/PycharmProjects/untitled/venv/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 243, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/Users/ronavaida/PycharmProjects/untitled/venv/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 311, in execute
    self.error_handler.check_response(response)
  File "/Users/ronavaida/PycharmProjects/untitled/venv/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 237, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: Unable to find a matching set of capabilities

请给予指导,谢谢!

0
0 Comments

原因:问题的原因是没有正确设置geckodriver的路径。

解决方法:需要下载最新的geckodriver二进制文件并保存在系统中,并在初始化WebDriver和Browser实例时提供geckodriver二进制文件的绝对路径。

文章内容如下:

在使用PyCharm和Mac系统时,运行简单的WebDriver时出现了问题。错误信息如下:

SessionNotCreatedException: Message: Unable to find a matching set of capabilities

解决该问题的方法是去[这个链接](https://github.com/mozilla/geckodriver/releases)下载最新的geckodriver二进制文件,并保存在你的系统中,然后在初始化WebDriver和Browser实例时,提供geckodriver二进制文件的绝对路径。代码示例如下:

from selenium import webdriver
driver = webdriver.Firefox(executable_path='/path/to/geckodriver')
driver.get('https://www.google.co.in')
driver.quit()

如果以上方法没有解决问题,请更新问题,提供你当前的代码块和错误堆栈信息,以便进一步分析。

0