自动化selenium,执行js,以及触屏操作,和类的解释

自动化时,js语法的执行

# 注意写js要有;里面的写法,就是js语法怎么写都行,就是找元素做操作, 还有 添加id或其他属性时,直接写,别加“”或者单引号,要不不认识报错
# js1="document.querySelector('#js-datemodule > div.f-b-item.f-b-arrow > div').innerHTML='<input></input>';"
js = "document.getElementsByClassName('f-b-wrap')[2].innerHTML='<input id=input1></input>';"
js1="document.getElementsByClassName('page')[0].lastElementChild.innerHTML+='<button class="js-submit-btn" type=button id=submit1>提交</button>';"
self.js(js)
self.sleep(1)
self.type(self.修改后输入框,"2020-07-09")

怎么判断,是触屏的点击

# # 触摸点击 怎么判断,是否为触摸点击,而不是click点击?运行之后,用运行的浏览器,去点击,看看是否能点动,不动就试试触摸点击
# #尝试使用js点击和鼠标点击都失败了,只能使用鼠标点击
# #TouchActions要传参driver,但是要传一个self.drver应该是因为集成的原因
TouchActions(self.driver).tap(self.find_element(self.日期选择框_确定)).perform()
 
 
python的类
 
类方法 ,不管初始化,还是其他,都自带一个self

 

其中一句,self 代表的是类的实例,所以写自动化的时候才能,写成self.open ,等,   因为 open是  父类定义的一个方法,子类去调用,self就是类的实例,所以  self.方法名,就相当于 java    new了一个类的对象,对象点 方法去调用

 

 

 

问题,孙类,继承  父类,  父类,继承  爷爷,  这个self. 指的是谁?   孙类,可用self.方法,调用 父类 ,和 爷爷的? 父类,调爷爷的? 

那 初始化的,怎么算,都有自己的初始化


下面这个图,就是写自动化时,子类调用父类的初始化

运用的典型的写法

父类名称.__init__(self,参数1,参数2,...)

如果变量写在,类下面,不需要写self, 所有这个类的实例都能调用

 

 

 

 

 

子类集成父类时,子类直接调用父类的,初始化方法,_init_ 子类自己重写的话,就使用子类的,不用父类的

 

 

 

 

 

 

 

2、在调用基类的方法时,需要加上基类的类名前缀,且需要带上 self 参数变量。区别在于类中调用普通函数时并不需要带上 self 参数
 
这也就是为啥我写自动化时,这个patientname直接写方法名,就行,只要把方法引进来就行。输入类中调用普通函数时,不需要写self
 

 

 

集成多个类

class A:        # 定义类 A
.....

class B:         # 定义类 B
.....

class C(A, B):   # 继承类 A 和 B


 

 

posted @ 2020-06-23 17:12  正来  阅读(334)  评论(0编辑  收藏  举报