Python 2.7 异常属性错误:“';非类型';对象没有属性';路径'&引用;在里面
我正在调试python代码(python2.7.12),因为我的代码可以正常工作,但在将tweet流式传输到数据库时,所有变量都将为NULL 我得到的错误是:Python 2.7 异常属性错误:“';非类型';对象没有属性';路径'&引用;在里面,python-2.7,attributeerror,try-except,Python 2.7,Attributeerror,Try Except,我正在调试python代码(python2.7.12),因为我的代码可以正常工作,但在将tweet流式传输到数据库时,所有变量都将为NULL 我得到的错误是: Exception AttributeError: "'NoneType' object has no attribute 'path'" in <function _remove at 0x10068f140> ignored 我不认为函数commit\u tweet\u to\u database()是错误的 你知道……
Exception AttributeError: "'NoneType' object has no attribute 'path'" in <function _remove at 0x10068f140> ignored
我不认为函数commit\u tweet\u to\u database()
是错误的
你知道……吗。。。?我将感谢任何帮助
谢谢。异常属性错误:“'NoneType'对象在忽略中没有属性'path'”
Exception AttributeError: "'NoneType' object has no attribute 'path'" in <function _remove at 0x10068f140> ignored
这说明在函数
\u remove
中,试图在NoneType
对象上访问属性path
<代码>非类型对象没有属性。因此,您可能需要查看\u remove
函数并从那里开始调试 我也有同样的错误,下面是我的案例:
browser=webdriver.Firefox()
browser.get(“”)
打印浏览器.title
- 以下内容将给我错误消息:“非类型”对象没有属性“路径”
- 以下内容不会给出错误
因此,问题是您对对象使用了错误的方法 我也在处理这个错误。我尝试使用browser.close()方法,虽然它确实阻止了-'NoneType'对象没有属性'path'-的显示,但我只剩下一堆打开的firefox浏览器实例 .close()方法关闭chrome,它不会在firefox中抛出非类型错误,但会使firefox保持打开状态。.quit()方法关闭两个浏览器,但会为firefox抛出错误 我在代码中使用django的StaticLiveServerTestCase类 我编写了一个小的调试器循环来测试。只需取消注释并注释掉.quit()和.close()语句
class BaseTestCase(StaticLiveServerTestCase):
@classmethod
def setUp(self):
self.firefox = webdriver.Firefox()
self.chrome = webdriver.Chrome()
self.browsers = [self.firefox, self.chrome]
@classmethod
def tearDown(self):
for browser in self.browsers:
if browser == self.firefox:
print('firefox')
browser.close()
# browser.quit()
elif browser == self.chrome:
print('chrome')
browser.close()
# browser.quit()
我仍然不知道答案,但我认为这是朝着正确方向迈出的一步。听起来好像你的“try”子句失败了,导致打印异常?我可能会在异常捕获中添加更多调试,例如打印参数以提交到数据库,以确保您正在传递可行的参数。尝试删除这行代码:
import pdb;pdb.set_trace()
猜测脚本已经调用了
pdb.set_trace()
,您正在尝试覆盖它。这可能是问题的原因。现在我想知道@Dung和我是否真的回答了原始问题。这不是原始问题的答案。。。虽然这是Python Selenium 3.x模块的一个例外,但Selenium.browser.quit().close()与quit()不同。。。你不能只交换它们Corey,你能扩展一下吗?我自己对这个问题有点模糊。close()与quit()不同。。。您不能只是交换它们,我打赌上下文中没有用户定义的\u remove
,没有错误行号,并且在循环迭代之间引发异常。因此,我怀疑这与循环迭代器有关,可能是Python中的一个错误。注意:只有在使用pdb
(没有押韵)单步执行代码时,才会发生此错误。pudb是我的原因。当我删除导入pudb时;pu.db
问题消失了。
import pdb;pdb.set_trace()