自动化测试——下拉选择框、警告框、滚动条操作

一、下拉选择框

1、什么是下拉选择框

说明:下拉框就是HTML中<select>元素

2、为什么学习下拉选择框?

(1)传统代码实现:

                      定位option选项(8中定位方式)

(2)问题:

                       1、传统定位根据option选项的值来判断

                       2、如果有多个选项传统定位方式处理起来比较繁琐

 3、Select类

说明:Select类是WebDriver为解决select标签定位诞生的,此类定位的是select标签

(1)select方法

select_by_index()    根据option索引来定位,从0开始

select_by_value()     根据option属性 value值来定位

select_by_visible_text()  根据option显示文本来定位

(2)select实现代码

from selenium import webdriver
from time import sleep
from selenium.webdriver.support.select import Select

driver = webdriver.Firefox()

driver.get(r'G:\python\day1\source\注册A.html')
sleep(2)

select = Select(driver.find_element_by_id("selectA"))

#根据索引实现
sleep(2)
select.select_by_index(1)

#根据文本值实现
sleep(2)
select.select_by_value('bj')

#根据value属性实现
sleep(2)
select.select_by_visible_text('A重庆')


sleep(3)
driver.quit()

二、警告框处理

说明:WebDriver中对处理警告框的操作,有专门的处理方法

提示:HTML中常用的对话框有三种,处理的方法都一样

(1)alert

(2)confirm

(3)prompt

1、警告框处理方法

(1)text                          返回alert/confirm/prompt中的文字信息

(2)accept()              接受对话框选项

(3)dismiss()            取消对话框选项

2、调用方法

(1)获取警告框 alert = driver.switch_to.alert

(2)调用 :

             alert.text

             alert.accept()

             alert.dismiss()

3、处理警告框

from selenium import webdriver
from time import sleep

driver = webdriver.Firefox()

driver.get(r'G:\python\day1\source\注册A.html')
sleep(2)

driver.find_element_by_id('alerta').click()
sleep(2)

alert = driver.switch_to.alert

print(alert.text)
alert.accept()

sleep(2)
driver.find_element_by_id('userA').send_keys('admin')


sleep(3)
driver.quit()

三、滚动条操作

说明:WebDriver类库中并没有直接提供对滚动条进行操作方法,但是它提供了可调用JavaScript脚本的方法,所以我们可以通过JavaScript脚本来达到操作滚动条的目的

备注:(1)滚动条:一种可控制程序显示范围的组件

           (2)JavaScript:一种流行脚本语言,可以操作HTML标签

1、为什么要学习滚动条操作?

(1)在HTML页面中,由于前端技术框架的原因,页面元素为动态显示,元素根据滚动条的下拉而被加载

(2)页面注册同意条款,需要滚动条到最底层,才能点击同意

2、设置JavaScript脚本控制滚动条

js = “window.scrollTo(0,1000)”

                   (0:左边距;1000:上边距,单位像素)

WebDriver调用js脚本方法:  driver.execute_script(js)

3、处理滚动条

from selenium import webdriver
from time import sleep

driver = webdriver.Firefox()

driver.get(r'G:\python\day1\source\注册A.html')
sleep(2)

js1 = "window.scrollTo(0,1000)"
js2 = "window.scrollTo(0,0)"

driver.execute_script(js1)
sleep(2)

driver.execute_script(js2)

sleep(3)
driver.quit()

4、滚动条总结

(1)WebDriver控制滚动方法

(2)JavaScript控制滚动条语句

猜你喜欢

转载自blog.csdn.net/qq_35169931/article/details/86157682