当前位置: 首页 > 知识库问答 >
问题:

警告(来自警告模块):资源警告:未关闭的使用硒

佘缪文
2023-03-14
import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys


class PythonOrgSearch(unittest.TestCase):

    def setUp(self):
        self.driver = webdriver.Firefox()

    def test_search_in_python_org(self):
        driver = self.driver
        driver.get("http://www.python.org")
        self.assertIn("Python", driver.title)
        elem = driver.find_element_by_name("q")
        elem.send_keys("selenium")
        elem.send_keys(Keys.RETURN)
        self.assertIn("Google", driver.title)

    def tearDown(self):
        self.driver.close()

if __name__=="__main__":
    unittest.main()

我收到这个警告。怎么了?

Warning (from warnings module):
  File "C:\Python33\lib\site-packages\selenium-2.37.2-py3.3.egg\selenium\webdriver\firefox\firefox_binary.py", line 95
    while not utils.is_connectable(self.profile.port):
ResourceWarning: unclosed <socket.socket object, fd=400, family=2, type=1, proto=0>

共有2个答案

景稳
2023-03-14

我使用-W标志运行测试,因此:

python -W ignore -m unittest my_tests  

python -W ignore -m unittest my_tests.MyIndividualTest     

这会抑制ResourceWarning,但仍允许断言错误报告。

顺便说一句,我发现:

if __name__ == '__main__':
    unittest.main(warnings='ignore')  

在调用<code>python my_tests时工作。py,但此调用排除了运行单个测试

我无法弄清楚如何使用unittest.main(警告='忽略')而不会遇到错误,我将其归结为递归包含unittest库。

硒==2.44.0Python 3.4.2下)

伍玮
2023-03-14

这是一个已知的错误:

http://code.google.com/p/selenium/issues/detail?id=5923

不过,忽略它是安全的。如果您使用的是Python 3,您可以:

unittest.main(warnings='ignore')

请参阅Python 3 unittest文档。

在Python 2中,您可以使用以下内容:

with warnings.catch_warnings(record=True):
     unittest.main()

参见 Python 2 警告文档

如果你能原谅这种无耻的自我推销,我在这里写的一本小书中有更多关于硒的信息。

 类似资料:
  • 告警资源即宿主机、云账号等影响系统正常使用的资源因为告警策略发生告警,等待处理的未恢复系统资源告警列表。 告警资源即宿主机、云账号等影响系统正常使用的资源因为告警策略发生告警,等待处理的未回复系统资源告警列表。当此类告警发生时,用户可在界面右上角查看到告警资源数量等。用户通过资源匹配的告警策略排查资源的异常告警原因,当告警恢复后,则对应的告警资源将不再显示在告警列表。 入口:在云管平台单击左上角导

  • 云联壹云平台支持对宿主机、虚拟机、云账号等资源的相关指标进行监控告警,告警消息支持通过机器人、邮件、短信、飞书、钉钉、企业微信等通知渠道发送给用户。 告警策略 告警策略即针对监控指标设置阈值,当资源的指标超过阈值时,将会立即通过通知渠道向用户发送告警消息,使用户可以快速响应解决问题。 告警历史 告警历史显示系统中所有的触发告警以及恢复告警的告警策略和资源信息。 告警资源 告警资源即宿主机、云账号等

  • 我正在使用python处理一些图像,并尝试将一系列大小为961x509的图像转换为MP4电影文件。我已经这样做了,它正在工作,但我有一个相当恼人的问题,警告说这样的话: 警告:根:图像FFMPEG_WRITER警告:输入图像不能被macro_block_size=16整除,大小从(509L,961L)到(512L,976L),以确保与大多数编解码器和播放器的视频兼容性。若要防止调整大小,请使输入图

  • 当我使用像或这样的IO类时,Eclipse会显示一个警告。如何使Eclipse在我自己的类未关闭时为它显示此警告? 我想知道的是,是否有一个接口或我需要实现的东西来使我的类被视为IO类,以便它独立于任何一个IDE,例如,命令行在资源未关闭时也会显示警告。

  • 在这段代码的第4行,有一个资源泄漏警告。输入=扫描(); 我想要一个从用户那里获取整数的方法。它会要求用户重新输入一个整数值,如果他以前输入的值是不可接受的,即字符、规格。字符等。此外,我想在返回所取的int之前关闭扫描仪。 如何解决这个问题?

  • 问题内容: 我尝试了以下代码将列转换为“日期”: 要么 但出现以下错误: /Users/xyz/anaconda3/envs/sensor/lib/python3.6/site- packages/pandas/core/indexing.py:517:SettingWithCopyWarning:试图在DataFrame的切片副本上设置一个值。尝试改用.loc [row_indexer,col_