最近在学习自动化测试,使用的是selenium+pytest自动化测试框架,对selenium api封装,运行时报了TypeError 'str' object is not callable
‘str’ object is not callable 一般出现在企图调用一个不可被调用的对象。
其实 pycharm 已经将有问题的代码做了下划线标注啦。
通过阅读selenium api文档发现,一些属性(或者方法)是可以调用的,另外一些不可以调用,可以调用的属性是以圆括号结尾的。
下面是属性的一个例子: * current_url 当前载入页面的URL
使用:
driver.current_url
下面是方法的一个例子 * close()
关闭当前窗口 使用:
driver.close()
所以要认真阅读文档才能避免一些不必要的错误 。
但是要想driver.current_url
能被调用怎么办呢,经常我不懈的努力,终于找到了一个非常好的解决方法,那就是@property !
@property是Python内置的装饰器。它的作用是:将方法变成属性调用。
使用场景:
1.修饰方法,使方法可以像属性一样访问。
class DataSet(object):
@property
def