一、进入frame框架
from selenium import webdriver import time as t driver=webdriver.Chrome() driver.get('file:///C:/Users/Administrator.lwp-PC/Downloads/index.html') #进入到frame的框架里面 driver.switch_to.frame('frame') driver.find_element_by_id('username').send_keys('chen') t.sleep(3) driver.quit()
2、用index进入框架(switch_to 切换)
from selenium import webdriver import time as t driver=webdriver.Chrome() driver.get('file:///C:/Users/Administrator.lwp-PC/Downloads/index.html') #进入到frame的框架里面 # driver.switch_to.frame('frame') driver.switch_to.frame(0) driver.find_element_by_id('username').send_keys('chen') t.sleep(3) driver.quit()
3、跳出框架
from selenium import webdriver import time as t driver=webdriver.Chrome() driver.get('file:///C:/Users/Administrator.lwp-PC/Downloads/so_index.html') driver.switch_to.frame(0) #bing搜索 driver.find_element_by_id('sb_form_q').send_keys("hi") t.sleep(3) #跳出frame driver.switch_to.default_content() driver.find_element_by_id('username').send_keys('holle') t.sleep(3) driver.quit()
4、实战嵌套qq邮箱
from selenium import webdriver import time as t driver=webdriver.Chrome() driver.get("https://mail.qq.com/") #进入到frame driver.switch_to.frame('login_frame') #输入账号 driver.find_element_by_id('u').send_keys('2327829391') t.sleep(3) driver.find_element_by_id('p').send_keys('cx123') t.sleep(3) driver.quit()
4、多窗口的处理
from selenium import webdriver import time as t driver=webdriver.Chrome() driver.maximize_window() driver.get('https://mail.sina.com.cn/') #获取当前窗口 newHandler=driver.current_window_handle #点击注册,打开新的窗口 driver.find_element_by_link_text('注册').click() t.sleep(3) allHandlers=driver.window_handles ''' 1、循环所有的窗口 2、判断是否是当前窗口 3、如果不是,切换到新的窗口 4、在新的窗口进行操作 5、关闭新的窗口 6、切换到最开始窗口 ''' #循环所有窗口 for handler in allHandlers: #判断是否是当前窗口 if handler!=newHandler: #切换到当前窗口 driver.switch_to.window(handler) driver.find_element_by_name('email').send_keys('admin') t.sleep(3) driver.close() #切换到最开始窗口 driver.switch_to.window(newHandler) driver.find_element_by_id('freename').send_keys('chjen') t.sleep(3) driver.quit()
5、clear清空
"""clear()清空""" driver=webdriver.Chrome() driver.maximize_window() driver.get('https://mail.sina.com.cn/') username=driver.find_element_by_id('freename') username.send_keys('1234') print('输入的值:',username.get_attribute('value')) t.sleep(3) username.clear() t.sleep(3) driver.quit()
执行以上代码,结果为:
6、是否可见(is_displayed())
from selenium import webdriver import time as t """is_displayde()是否可见""" driver=webdriver.Chrome() driver.maximize_window() driver.get('https://mail.sina.com.cn/') abc=driver.find_element_by_link_text('忘记密码?') print("是否可见:",abc.is_displayed()) driver.quit()
执行以上代码,结果为:
7、是否可编辑(is_enabled())
from selenium import webdriver import time as t # """is_enabled是否可编辑""" driver=webdriver.Chrome() driver.maximize_window() driver.get('https://mail.sina.com.cn/') edit=driver.find_element_by_link_text('忘记密码?') print("是否可编辑:",edit.is_enabled()) driver.quit()
执行以上代码,结果为:
8、是否被选中
from selenium import webdriver import time as t """是否被选中 """ driver=webdriver.Chrome() driver.maximize_window() driver.get('https://mail.sina.com.cn/') select=driver.find_element_by_id('store1') print("是否被选中:",select.is_selected()) driver.quit()
执行以上代码,结果为:
三、对select的处理分3个思路,具体是:
1、按照索引的方式定位下拉框
2、按value值的方式定位下拉框
3、按text文本值的方式定位 下拉框
(1)下拉框的应用
from selenium import webdriver
import time as t
"""下拉框的应用-索引"""
from selenium.webdriver.support.select import Select
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('file:///C:/Users/Administrator.lwp-PC/Desktop/%E6%96%B0%E5%BB%BA%E6%96%87%E6%9C%AC%E6%96%87%E6%A1%A3.html')
#操作select
sel=driver.find_element_by_name('nr')
select=Select(sel)
t.sleep(3)
# select.select_by_index(2)
#按照value
# select.select_by_value("Go")
#按照文本
select.select_by_visible_text('Java语言')
t.sleep(3)
driver.quit()
(2)boss实战
from selenium import webdriver import time as t
"""boss实战"""
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('https://www.zhipin.com/xian/')
driver.find_element_by_xpath('//*[@id="wrap"]/div[3]/div/div[1]/div[1]/form/div[2]/div/span/b').click()
t.sleep(3)
driver.find_element_by_xpath('//*[@id="wrap"]/div[3]/div/div[1]/div[1]/form/div[4]/div/div/ul[1]/li[3]').click()
t.sleep(3)
driver.find_element_by_xpath('//*[@id="wrap"]/div[3]/div/div[1]/div[1]/form/div[4]/div/div/ul[2]/li[3]').click()
t.sleep(3)
driver.find_element_by_xpath('//*[@id="wrap"]/div[3]/div/div[1]/div[1]/form/div[4]/div/div/ul[3]/li[2]').click()
t.sleep(3)
#搜索职位
driver.find_element_by_name('query').send_keys('测试架构师')
t.sleep(3)
driver.find_element_by_xpath('//*[@id="wrap"]/div[3]/div/div[1]/div[1]/form/button').click()
t.sleep(3)
#选择公司规模
driver.find_element_by_xpath('//*[@id="filter-box"]/div/div[4]/div[5]/span/input').click()
t.sleep(3)
driver.find_element_by_xpath('//*[@id="filter-box"]/div/div[4]/div[5]/span/div/ul/li[5]/a').click()
t.sleep(3)
driver.quit()
作业:
1、list1=[{"name":"wuya","student":[{"company":[{"languae":"Go"}]}]}],获取Go语言
list1=[{"name":"wuya","student":[{"company":[{"languae":"Go"}]}]}] print('获取Go:\n',list1[0]["student"][0]["company"][0]["languae"])
执行以上代码,结果如下:
2、按阶段划分测试的分类是?
按阶段分:单元测试、集成测试、系统测试、验收测试
3、怎么理解等价类和边界值,举例说明
1、等价类划分法:一个测试用例的测试方法,就是把输入数据的多种情况分成多个小部分,再从这些小部分里面挑取少量的代表性数据进行测试
等价类又分:有效等价类和无效等价类
有效等价类:合理的、有效的数据(如:在确定年龄是1-90之间,那么有效等价类就是1-90之间的任何整数)
无效等价类:不合理的、没有意义的数据(如:再确定年龄是1-90,那么超过90或者小于1的数字就是无效的)
2、边界值:
边界指是对等价类划分的补充,因为边界的数据是最容易出错的
(如:网页的搜索框只能输入1-30个字符,如果输入31个会不会出现错误的提示,输入31个字符的时候搜索会出现错误)