心之所有
想学习的可以互相沟通,互相学习,刚开始学。有什么问题可以沟通

导航

 

 

一、副文本的处理

1、副文本的处理(进入iframe框架)

from selenium import  webdriver
import  time as t

#富文本的处理
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('https://www.bejson.com/ui/ueditor/')
driver.switch_to.frame('ueditor_0')
t.sleep(2)
driver.find_element_by_xpath('/html/body/p').send_keys('呵呵呵呵呵呵')
t.sleep(4)
driver.quit()

  

2、副文本的处理(js)

from selenium import  webdriver
import  time as t


def richtext(driver,richID,content):
	js = "document.getElementById('{0}').contentWindow.document.body.innerHTML='{1} '".format(richID, content)
	driver.execute_script(js)
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('https://www.bejson.com/ui/ueditor/')
richtext(driver=driver,richID='ueditor_0',content='帅逼')
t.sleep(3)
driver.quit()

二、WebDriverWait类的详解
等待在UI自动化测试中,存在三种情况,分别是:
1、固定等待,使用的是time库来实现的

2、隐式等待,设置最长等待时间

3、显式等待,程序每隔一段时间执行自定义的程序判断条件。案例主要以显式等待来演示它的应用,使用到的类式webdriverwait的类
元素可见并且可以操作

(1)元素可见并且可以操作,找到元素后进行操作:element_to_be_clickable

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as es
from selenium.webdriver.common.by import By

driver=webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(30)
driver.get('http://www.baidu.com')
so=WebDriverWait(driver=driver,timeout=10).until(es.element_to_be_clickable((By.ID,'kw')))
so.send_keys('hello world')
t.sleep(3)
driver.quit()

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as es
from selenium.webdriver.common.by import By

driver=webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(30)
driver.get('http://baidu.con')
so=WebDriverWait(driver=driver,timeout=10).until(es.element_to_be_clickable(By,ID,'kw'))

  

(2)判断元素是否可见:visibility_of_element_located

主要应用于判断在可见后,进行一系列的操作,

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as es
from selenium.webdriver.common.by import By
"""元素是否可见"""
driver=webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(30)
driver.get('http://www.baidu.com')
so=WebDriverWait(driver=driver,timeout=4).until(es.visibility_of_element_located((By.ID,'kw')))
so.send_keys("holle chen")
t.sleep(3)
driver.quit()

  

三、面向对象

1、类

"""
1、执行构造函数,并初始化
2、调用里面的方法
3、清理操作
"""
class Person(object):
	city="西安" \
	     ""
	def __init__(self,name,age):
		"""初始化"""
		print("开始执行")
		self.name=name
		self.age=age

	def show(self):
		print('my name is {0},and my age is {1},and my address is {2}'.format(self.name,self.age,self.city))

	def __del__(self):
		"""清理操作"""
		print('执行结束')
obj=Person(name='chen',age=213)
# print('名字:%s,年龄:%d'%(obj.name,obj.age))
obj.show()
print(obj.city)
print(Person(name='chen',age=213).city)
print(obj.city)

"""
类属性范畴
1、属于对象
2、属于类的
类属性它是属于类的
实例属性他是属于类的对象的
那么我们调用类里面的任何方法,首先是对类进行实例化,得到类里面的对象,然后使用对象调用类里面的方法
"""

  

  执行以上代码,结果为:

 

posted on 2021-08-16 15:06  橙橙的橙  阅读(53)  评论(0)    收藏  举报