首页 > 解决方案 > 我正在尝试将 selenium 用于 python,它返回一个“常见异常”错误

问题描述

免责声明

这是我第一次使用堆栈溢出,而且我对编码还比较陌生,所以如果我错过了任何重要信息,或者没有“正确”完成某些事情,请随时告诉我。

问题

我刚刚安装了 selenium pip3 install selenium,一切正常,我导入了我认为应该导入的所有内容。

import selenium
from selenium import webdriver

为了测试我然后添加了default_browser = webdriver.Firefox()但不幸的是遇到了这个错误:

Traceback (most recent call last):
  File "/home/kali/Documents/coding/ProjectName/main.py", line 4, in <module>
    default_browswer = webdriver.Firefox()
  File "/home/kali/.local/lib/python3.8/site-packages/selenium/webdriver/firefox/webdriver.py", line 170, in __init__
    RemoteWebDriver.__init__(
  File "/home/kali/.local/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "/home/kali/.local/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/home/kali/.local/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/home/kali/.local/lib/python3.8/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: newSession

我已经尝试按照这个堆栈溢出问题的步骤进行操作,包括:

  1. 尝试使用pip3 install -U seleniumAND更新 seleniumsudo pip3 install selenium --upgrade
  2. 我已经按照此处的步骤 1-3 升级了 geckodriver ,然后将步骤 4 替换为sudo mv geckodriver /usr/local/bin/geckodriver
  3. 通过运行使用多个端口对 geckodriver 进行故障排除:`strace geckodriver 2>&1 | grep -iE 'bind|getsockname' 返回
bind(3, {sa_family=AF_INET, sin_port=htons(4444), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 EADDRINUSE (Address already in use)

然后我跑netstat -tulpn | grep -i 4444了返回:

tcp        0      0 127.0.0.1:4444          0.0.0.0:*               LISTEN      7500/geckodriver   

这显然意味着我需要让操作系统分配一个空闲端口: geckodriver --port 0它返回:

1605300277587   geckodriver INFO    geckodriver 0.19.1
1605300277592   geckodriver INFO    Listening on 127.0.0.1:37399

在此之后,终端继续运行并且不归还我xyz:~$:的东西。

这些都对我的问题没有任何影响,而且我真的找不到任何其他相关的资源,所以如果有人知道我可以尝试什么,我将不胜感激。

标签: pythonseleniumselenium-webdrivergeckodriver

解决方案


推荐阅读