在PyCharm上无法运行简单的WebDriver - Mac
在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, indriver=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
请给予指导,谢谢!
原因:问题的原因是没有正确设置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()
如果以上方法没有解决问题,请更新问题,提供你当前的代码块和错误堆栈信息,以便进一步分析。