所以我使用PyCharm 2018.2.3,geckodriver 0.20,Firefox 63.0和Python 3.6.5进行我的Selenium自动测试。
我在Python Console中尝试运行驱动程序:
from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.accept_untrusted_certs = True
wd = webdriver.Firefox(executable_path="C:\\Users\\user\\geckodriver.exe", firefox_profile=profile)
所以geckodriver在一个新窗口中运行。然后我经常写
url = "https://website-address.com/"
wd.get(url)
但是这次我收到的消息是:
Previous command is still running. Please wait or press Ctrl+C in console to interrupt.
然后在几分钟内geckodriver退出这些消息在日志中:
Traceback (most recent call last): File "<input>", line 4, in <module> File "C:\Users\user\project\venv\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 170, in __init__ keep_alive=True) File "C:\Users\user\project\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 156, in __init__ self.start_session(capabilities, browser_profile) File "C:\Users\user\project\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 251, in start_session response = self.execute(Command.NEW_SESSION, parameters) File "C:\Users\user\project\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 320, in execute self.error_handler.check_response(response) File "C:\Users\user\project\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: newSession
请帮助我了解发生了什么以及如何解决它。
我遇到了同样的问题,并在将geckodriver更新为v0.21.0后得到修复
所以我在geckodriver github(https://github.com/mozilla/geckodriver/issues/1369)上打开了一个问题,该问题由开发人员关闭,我在另一个类似的问题中得到了一个实际的答案:https://github.com/mozilla/geckodriver/issues/1305 - 他们发布了一个新版本的geckodriver来解决所有问题。
附:我几乎绝对相信我的防火墙没有问题。