我是编码和网页抓取的新手。但是,在尝试通过简单的代码用浏览器打开URL时,我已经遇到了错误。
源代码
import sys
import urllib.request
import importlib
import time
from bs4 import BeautifulSoup
from selenium import webdriver
importlib.reload(sys)
url = 'http://www.python.org'
driver = webdriver.Firefox()
driver.get(url)
browser.close()
结果:
Traceback (most recent call last):
File "D:/Documents and Settings/Administrator/桌面/Old Data/WS/111.py", line 9, in <module>
driver = webdriver.Firefox()
File "C:\Python34\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 157, in __init__
self.service.start()
File "C:\Python34\lib\site-packages\selenium\webdriver\common\service.py", line 98, in start
self.assert_process_still_running()
File "C:\Python34\lib\site-packages\selenium\webdriver\common\service.py", line 111, in assert_process_still_running
% (self.path, return_code)
selenium.common.exceptions.WebDriverException: Message: Service geckodriver unexpectedly exited. Status code was: 3221225501
这是Geckodriver的日志
1533786140718 geckodriver INFO geckodriver 0.21.0 (c7d3022be6420de1ca4076d932aa32b299f3ea10 2018-06-14)
thread panicked while processing panic. aborting.
1533786140734 geckodriver INFO Listening on 127.0.0.1:2472
thread panicked while processing panic. aborting.
答案 0 :(得分:0)
此错误消息...
Traceback (most recent call last):
File "D:/Documents and Settings/Administrator/??/Old Data/WS/111.py", line 9, in <module>
.
selenium.common.exceptions.WebDriverException: Message: Service geckodriver unexpectedly exited. Status code was: 3221225501
...表示 GeckoDriver 无法启动/产生新的 WebBrowser ,即 Firefox浏览器会话。
您需要处理以下几个问题:
sys
,urllib.request
,importlib
和time
,因此可以将其删除。@Test
。始终以 非root用户 用户的身份执行@Test
。driver.quit()
方法来优雅地关闭和销毁 WebDriver 和 Web Client 实例。thread panicked while processing panic
,Rust,Panic和WinXP 根据 2016-10-10 的GeckoDriver v0.11.0的发行说明:
env_logger
软件包替换了slog
日志记录工具,导致RUST_LOG
环境变量不再有任何影响。按照 2017-01-31 的GeckoDriver v0.14.0的发行说明进行:
现在在Windows XP doesn't have ConditionVariables, which notify requires via mpsc channels @ retep998中提到:
Windows XP支持非常糟糕。尽管
libstd
不会链接到Windows XP上不可用的任何功能,但是某些标准功能确实会在运行时加载这些功能,如果不存在,则会发生恐慌。rsnotify
很有可能取决于某些功能,这些功能需要Windows XP上不提供的API。
但是似乎按照Panic broken on Windows XP @alexcrichton所述:
当线程出现紧急情况时,它将尝试运行其紧急情况钩子,但是该紧急情况钩子受到RwLock的保护,而RwLock则在XP上未实现。这意味着,当您惊慌失措时,尝试获取rwlock时会立即惊慌。
最后,MUSL target doesn't link on nightly在rustc 1.12.0-nightly (a005b6785 2016-08-02)
中似乎得到解决
在当前的 Selenium v3.14.0 , GeckoDriver v0.21.0 和 Firefox v61.0.2 的最新版本中,执行@Tests
以 non WinXP 操作系统(例如 Win7 , Win8 或 Win10 )上的非root用户用户em>)即可解决您的问题。