UI自动化第六天
一.条件框的输入
from selenium import webdriver import time as t driver=webdriver.Chrome() driver.maximize_window() driver.get('https://www.bejson.com/ui/ueditor/') #进入iframe框架 driver.switch_to.frame('ueditor_0') t.sleep(3) driver.find_element_by_xpath('/html/body/p').send_keys('请输入密码') t.sleep(5) driver.quit()
js进行执行
def richText(driver,richID,content): ''' :param driver: 指的是webdriver实例化后的对象 :param richID: iframe框架的ID :param content: 被输入的内容 :return: ''' 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='python') t.sleep(5) driver.quit()
WebDriverWait类的详解
等待在UI自动化测试中存在三种情况
1.固定等待,使用的是体面人库来实现的
2.隐式等待,设置最长等待时间
3.显示等待,程序每隔一段时间执行自定义的程序判断条件。案例主要以显示等待来演示它的应用,
使用到的类式webdriverwait的类
'''隐式等待''' driver=webdriver.Chrome() driver.maximize_window() driver.get('https://mail.sina.com.cn') driver.implicitly_wait(30) 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://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()
判断元素是否可见:主要应用于判断在可见后,进行一系列的操作。
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('hellow world') t.sleep(3) driver.quit()

浙公网安备 33010602011771号