python - 我正在尝试将 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
我已经尝试按照这个堆栈溢出问题的步骤进行操作,包括:
- 尝试使用
pip3 install -U selenium
AND更新 seleniumsudo pip3 install selenium --upgrade
- 我已经按照此处的步骤 1-3 升级了 geckodriver ,然后将步骤 4 替换为
sudo mv geckodriver /usr/local/bin/geckodriver
- 通过运行使用多个端口对 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:~$:
的东西。
这些都对我的问题没有任何影响,而且我真的找不到任何其他相关的资源,所以如果有人知道我可以尝试什么,我将不胜感激。
解决方案
推荐阅读
- angular - 从语言环境 id 获取语言描述的方法
- c# - 如何从c#中的数字范围中获取元素的类型?
- html - 使用 HTML 视频标签从服务器播放 HLS 文件
- python - 图例中的Python plotly scatter_geo_Text隔离
- python - 将py转成exe,cmd提示符只是闪烁
- ios - Xcode 版本 11.4.1 (11E503a) 挂在 Source Control > Create Git Repositories
- javascript - 什么可能导致ajax请求上的“请求已被截断”
- html - 无法放大模态表单文本框的大小
- c# - C# - 以正确的顺序检测三个游戏对象
- vue.js - Gridsome Graphql 过滤器变量